Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562

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

08.03.2011, 01:49. Показов 1183. Ответов 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)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.03.2011, 01:49
Ответы с готовыми решениями:

В каком либе валяются функции?
В каком либен валяются XDisplayOpen и XScreenOpen (кажется так)? Хотел под эклипсом сделать окнную приладу, а он пишет, что не определены...

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

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

9
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
08.03.2011, 01:54
В Qt рисование объектов под углом забавно решается - поворачивается холст, на нём без всяких затей рисуется нужное изображение, холст поворачивается обратно, все счастливы
1
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
08.03.2011, 01:58  [ТС]
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
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
08.03.2011, 02:14
дык у тебя цифорки неправильные
при повороте имеем
https://www.cyberforum.ru/cgi-bin/latex.cgi?x^' = x \cos \alpha
https://www.cyberforum.ru/cgi-bin/latex.cgi?y^' = y \sin \alpha
у тебя концы стрелок на другую величину отклониться должны
1
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
08.03.2011, 02:22  [ТС]
alex_x_x, Туплю по ночам. Пора спать... Что есть что в формуле? x - координата, альфа - угол отклонения? Если да, то какая именно координата + не могу припомнить как посчитать угол отклонения линии.
0
бжни
 Аватар для alex_x_x
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
08.03.2011, 03:14
Лучший ответ Сообщение было отмечено ForEveR как решение

Решение

http://liveworkspace.org/code/... e5160de4fe

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
08.03.2011, 05:30

Не по теме:

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

0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
08.03.2011, 15:55  [ТС]
Kastaneda, Надстройка над FLTK.

Сорсы тут
Для использования нужна скомпилированная библиотека FLTK.
0
бжни
 Аватар для alex_x_x
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
08.03.2011, 16:14
ForEveR, и как, есть профит?
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
08.03.2011, 18:03  [ТС]
alex_x_x, Хм. Да я просто книгу читаю - делаю задания) Про профит - хз. Qt мне нра больше.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.03.2011, 18:03
Помогаю со студенческими работами здесь

AVR Toolchain проблемы при компиляции - ошибка в либе?
Тулчейн avr-toolchain-installer-3.3.0.710. При компиляции проекта с чужими библиотеками (v-usb cdc и др.) появляется ошибка - линкер не...

Как сделать запрос через Socks5 proxy на либе xnet?
Собсна сабж. public string GetResponseString(string gate, string command) { var hCommand = gate; var...

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

Ошибка линковки LNK2019 при линковке (линкер не видит функцию в либе)
Доброго времени суток! Проблема следующая: есть длл - самопальный враппер над Bullet для Ogre3D. Длл писалась и собиралась в МSVC 2010 x64....

Непонятность с if.
Решил сделать некое подобие калькулятора с побитовыми операторами. Вводищ число, потом оператор (если ввел ~ (побитовое отрицание) то сразу...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru