Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
08.03.2011, 01:49     Непонятность в одной граф либе #1
Мм... Вообщем я даже не знаю как сие явление прокомментировать, хочу нарисовать стрелку - дабы в дальнейшем знать как строить класс, рисующий стрелку... Со стрелками идущими в прямом направлении все легко. Но вот диагональ меня как-то пугает...
Код:
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. По моему разумению "стрелка" должна бы быть нормальной. Но этого не происходит. Из-за чего? Неужели из-за шероховатостей рельефа? Результат запуска на скрине.
Миниатюры
Непонятность в одной граф либе  
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.03.2011, 01:49     Непонятность в одной граф либе
Посмотрите здесь:

C++ Непонятность в маленьком кусочке кода
C++ Граф
Считать граф из файла (граф задан матрицей) представить его в виде списка и записать список заново в файл C++
C++ можно ли в с++ вызвать переменную из одной функции в другую т.е. мы переменну задали в одной функции а использовали в другой... и как это реализовать?
Непонятность с if. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
08.03.2011, 01:54     Непонятность в одной граф либе #2
В Qt рисование объектов под углом забавно решается - поворачивается холст, на нём без всяких затей рисуется нужное изображение, холст поворачивается обратно, все счастливы
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 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));
Буду думать как обобщать теперь...
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
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
у тебя концы стрелок на другую величину отклониться должны
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
08.03.2011, 02:22  [ТС]     Непонятность в одной граф либе #5
alex_x_x, Туплю по ночам. Пора спать... Что есть что в формуле? x - координата, альфа - угол отклонения? Если да, то какая именно координата + не могу припомнить как посчитать угол отклонения линии.
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
08.03.2011, 03:14     Непонятность в одной граф либе #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
http://liveworkspace.org/code/b659e7...1b33e5160de4fe

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;    
}
вспомни школу называется
Kastaneda
08.03.2011, 05:30
  #7

Не по теме:

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

ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
08.03.2011, 15:55  [ТС]     Непонятность в одной граф либе #8
Kastaneda, Надстройка над FLTK.

Сорсы тут
Для использования нужна скомпилированная библиотека FLTK.
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
08.03.2011, 16:14     Непонятность в одной граф либе #9
ForEveR, и как, есть профит?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.03.2011, 18:03     Непонятность в одной граф либе
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
08.03.2011, 18:03  [ТС]     Непонятность в одной граф либе #10
alex_x_x, Хм. Да я просто книгу читаю - делаю задания) Про профит - хз. Qt мне нра больше.
Yandex
Объявления
08.03.2011, 18:03     Непонятность в одной граф либе
Ответ Создать тему
Опции темы

Текущее время: 12:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru