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

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

08.03.2011, 01:49. Просмотров 712. Ответов 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. По моему разумению "стрелка" должна бы быть нормальной. Но этого не происходит. Из-за чего? Неужели из-за шероховатостей рельефа? Результат запуска на скрине.
0
Миниатюры
Непонятность в одной граф либе  
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.03.2011, 01:49
Ответы с готовыми решениями:

Дан ориентированный взвешенный граф. Найдите кратчайшее расстояние от одной заданной вершины до другой
В первой строке содержатся три числа: N, S и F (1≤N≤100, 1≤S,F≤N), где N —...

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

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

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

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

9
easybudda
Модератор
Эксперт CЭксперт С++
10119 / 6026 / 1511
Регистрация: 25.07.2009
Сообщений: 11,418
08.03.2011, 01:54 2
В Qt рисование объектов под углом забавно решается - поворачивается холст, на нём без всяких затей рисуется нужное изображение, холст поворачивается обратно, все счастливы
1
ForEveR
В астрале
Эксперт С++
7996 / 4755 / 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
бжни
2455 / 1661 / 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
В астрале
Эксперт С++
7996 / 4755 / 651
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
08.03.2011, 02:22  [ТС] 5
alex_x_x, Туплю по ночам. Пора спать... Что есть что в формуле? x - координата, альфа - угол отклонения? Если да, то какая именно координата + не могу припомнить как посчитать угол отклонения линии.
0
alex_x_x
бжни
2455 / 1661 / 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
В астрале
Эксперт С++
7996 / 4755 / 651
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
08.03.2011, 15:55  [ТС] 8
Kastaneda, Надстройка над FLTK.

Сорсы тут
Для использования нужна скомпилированная библиотека FLTK.
0
alex_x_x
бжни
2455 / 1661 / 134
Регистрация: 14.05.2009
Сообщений: 7,162
08.03.2011, 16:14 9
ForEveR, и как, есть профит?
0
ForEveR
В астрале
Эксперт С++
7996 / 4755 / 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...

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


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

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

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