Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
ForEveR
В астрале
Эксперт С++
7994 / 4753 / 651
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
#1

Непонятность в одной граф либе - C++

08.03.2011, 01:49. Просмотров 704. Ответов 9
Метки нет (Все метки)

Мм... Вообщем я даже не знаю как сие явление прокомментировать, хочу нарисовать стрелку - дабы в дальнейшем знать как строить класс, рисующий стрелку... Со стрелками идущими в прямом направлении все легко. Но вот диагональ меня как-то пугает...
Код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <Simple_window.h>
#include <Graph.h>
#include <GUI.h>
 
int main()
{
    Simple_window win(Point(0, 0), 800, 600, "My");
    Lines ln;
    ln.add(Point(100, 300), Point(300, 100));
    ln.add(Point(320, 110), Point(300, 100));
    ln.add(Point(300, 100), Point(280, 110));
    win.attach(ln);
    win.wait_for_button();
}
Используется надстройка Страуструпа над библиотекой FLTK. По моему разумению "стрелка" должна бы быть нормальной. Но этого не происходит. Из-за чего? Неужели из-за шероховатостей рельефа? Результат запуска на скрине.
http://www.cyberforum.ru/cpp-beginners/thread2183971.html
0
Миниатюры
Непонятность в одной граф либе  
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.03.2011, 01:49
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Непонятность в одной граф либе (C++):

Неориентированный невзвешенный граф: найти количество вершин, лежащих в одной компоненте связности с данной вершиной
Дан неориентированный невзвешенный граф. Для него вам необходимо найти...

Дана матрица смежности и неориентированный граф. Выяснить соседствуют ли две вершины с данными номерами с одной общей вершиной
народ помогите пожалуйста написать программу на с++ на графы дана матрица...

Непонятность с if.
Решил сделать некое подобие калькулятора с побитовыми операторами. Вводищ...

непонятность по теории
что означает статическая переменная? она как локальная только не стирается...

Считать граф из файла (граф задан матрицей) представить его в виде списка и записать список заново в файл
помогите очень срочно надо. считать граф из файла (граф задан матрицей)...

9
easybudda
Модератор
Эксперт CЭксперт С++
10021 / 5944 / 1483
Регистрация: 25.07.2009
Сообщений: 11,230
08.03.2011, 01:54 #2
В Qt рисование объектов под углом забавно решается - поворачивается холст, на нём без всяких затей рисуется нужное изображение, холст поворачивается обратно, все счастливы
1
ForEveR
В астрале
Эксперт С++
7994 / 4753 / 651
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
08.03.2011, 01:58  [ТС] #3
easybudda, Не вариант. Во внутренности fltk лезть совершенно не охота...
Исправил тонким подбором значений.

C++
1
2
3
    ln.add(Point(100, 300), Point(300, 100));
    ln.add(Point(290, 120), Point(300, 100));
    ln.add(Point(300, 100), Point(280, 110));
Буду думать как обобщать теперь...
0
alex_x_x
бжни
2454 / 1660 / 134
Регистрация: 14.05.2009
Сообщений: 7,162
08.03.2011, 02:14 #4
дык у тебя цифорки неправильные
при повороте имеем
http://www.cyberforum.ru/cgi-bin/latex.cgi?x^' = x \cos \alpha
http://www.cyberforum.ru/cgi-bin/latex.cgi?y^' = y \sin \alpha
у тебя концы стрелок на другую величину отклониться должны
1
ForEveR
В астрале
Эксперт С++
7994 / 4753 / 651
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
08.03.2011, 02:22  [ТС] #5
alex_x_x, Туплю по ночам. Пора спать... Что есть что в формуле? x - координата, альфа - угол отклонения? Если да, то какая именно координата + не могу припомнить как посчитать угол отклонения линии.
0
alex_x_x
бжни
2454 / 1660 / 134
Регистрация: 14.05.2009
Сообщений: 7,162
08.03.2011, 03:14 #6
Лучший ответ Сообщение было отмечено ForEveR как решение

Решение

http://liveworkspace.org/code/b659e7391949549b1c1b33e5160de4fe

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <cmath>
#include <cstdlib>
#include <iostream>
 
struct Point
{
  size_t x,y;
};
 
std::ostream& operator<<(std::ostream& os, const Point& p)
{
   return os << "Point(" << p.x << "," << p.y << ") ";
}
 
int main()
{
   Point v[] = { {300,100}, {300,300}, {290,290}, {290,310} };
   size_t length = sizeof(v)/sizeof(v[0]);
   for( int i=0;i<length;++i )
   {
     v[i].x = v[i].x * cos( M_PI / 4 );
     v[i].y = v[i].y * sin( M_PI / 4 );
   }    
   std::cout << v[0] << v[1] << std::endl;
   std::cout << v[1] << v[2] << std::endl;   
   std::cout << v[1] << v[3] << std::endl;    
}
Добавлено через 3 минуты
не погодь

Добавлено через 29 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <cmath>
#include <cstdlib>
#include <iostream>
 
struct Point
{
  double x,y;
};
 
std::ostream& operator<<(std::ostream& os, const Point& p)
{
   return os << "Point(" << p.x << "," << p.y << ") ";
}
 
int main()
{
   Point v[] = { {100,300}, {300,300}, {290,290}, {290,310} };
   size_t length = sizeof(v)/sizeof(v[0]);
   double angle = - M_PI / 4; 
   for( int i=0;i<length;++i ) 
   {
     v[i].x = v[0].x + (v[i].x-v[0].x) * cos( angle )
                     - (v[i].y-v[0].y) * sin( angle );
     v[i].y = v[0].y + (v[i].x-v[0].x) * sin( angle )
                     + (v[i].y-v[0].y) * cos( angle ); 
   }    
   std::cout << v[0] << v[1] << std::endl;
   std::cout << v[1] << v[2] << std::endl;   
   std::cout << v[1] << v[3] << std::endl;    
}
вспомни школу называется
1
Kastaneda
08.03.2011, 05:30
  #7

Не по теме:

ForEveR, в чем это вы так рисуете?

0
ForEveR
В астрале
Эксперт С++
7994 / 4753 / 651
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
08.03.2011, 15:55  [ТС] #8
Kastaneda, Надстройка над FLTK.

Сорсы тут
Для использования нужна скомпилированная библиотека FLTK.
0
alex_x_x
бжни
2454 / 1660 / 134
Регистрация: 14.05.2009
Сообщений: 7,162
08.03.2011, 16:14 #9
ForEveR, и как, есть профит?
0
ForEveR
В астрале
Эксперт С++
7994 / 4753 / 651
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
08.03.2011, 18:03  [ТС] #10
alex_x_x, Хм. Да я просто книгу читаю - делаю задания) Про профит - хз. Qt мне нра больше.
0
08.03.2011, 18:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.03.2011, 18:03
Привет! Вот еще темы с решениями:

непонятность в условии и верен ли алгоритм
Последовательность из l целых чисел b1, b2, ..., bl...

Непонятность в маленьком кусочке кода
Здраствуйте. Объясните пожалуйста что происходит в данном фрагменте кода....

Непонятность с указателями на функции, наследованием и, мб, шаблонами
Ситуация следующая: 1) Есть класс costream_base, содержащий следующие строчки:...

Сохранить в одной коллекции несколько объектов классов одной ветви иерархии
Написала программу с иерархией. Для её демонстрации нужно написать 2...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru