Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Программирование под Windows > C++ Builder
Перезагрузить страницу Создание линий на Canvas
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Anonymous
Guest
 
Сообщений: n/a
По умолчанию Создание линий на Canvas - 25.09.2003, 07:11

Я хотел чтобы угол между заданными прямыми (допустим АВ и СД) оставался постоянным. При перетаскивании конца прямой В в В’ прямая СД должна переместиться в положение С’Д’ таким образом, чтобы угол между прямыми остался неизменным.
Для этого я вычисляю угол(a) на который повернута прямая АВ и вычисляю координаты точек С’ и Д’ поворачивая мысленные прямые АС и АД на тот же угол a. Вроде все правильно, но почему-то угол немного изменяется, да к тому же уменьшается длина СД (СД>С’Д’).

Я бы вставил рисуночек, чтобы было понятнее, но не знаю как это сделать.
Ответить с цитированием
  (#2 (permalink)) Старый
Anonymous
Guest
 
Сообщений: n/a
По умолчанию Создание линий на Canvas - 25.09.2003, 07:11

Я хотел чтобы угол между заданными прямыми (допустим АВ и СД) оставался постоянным. При перетаскивании конца прямой В в В’ прямая СД должна переместиться в положение С’Д’ таким образом, чтобы угол между прямыми остался неизменным.
Для этого я вычисляю угол(a) на который повернута прямая АВ и вычисляю координаты точек С’ и Д’ поворачивая мысленные прямые АС и АД на тот же угол a. Вроде все правильно, но почему-то угол немного изменяется, да к тому же уменьшается длина СД (СД>С’Д’).

Я бы вставил рисуночек, чтобы было понятнее, но не знаю как это сделать.
Ответить с цитированием
  (#3 (permalink)) Старый
Anonymous
Guest
 
Сообщений: n/a
По умолчанию 25.09.2003, 12:13

кака то давно в студенческие годы соседу по комнате дали курсокую или лабораторную реализовать 3х мерный просмотр какого то объекта (что то сугубо геометрическое) с использованием метода трассировки лучей и опять же точно не помню, но там в этом методе прори повороте объекта каким то обрпзом использовался еденичный вектор, так вот когда использовали действительно единичный векторо(тоесть с длинной 1) грани объекта начинали разлетаться ... короче говоря проблема в тос что значения всяких там тригонометрических функций имеют значения от 0 до 1 а координата точки на экране величина челочисленная а потому при округлении могут возникать значительные искажения. попробуй просчитывать матаматику твоих поворотов и перемещений на координатной плоскасти увеличенной скажем в 1000 раз, а при прорисовке соответственно уменьшай ...
Ответить с цитированием
Ads
  (#4 (permalink)) Старый
Anonymous
Guest
 
Сообщений: n/a
По умолчанию 25.09.2003, 12:13

кака то давно в студенческие годы соседу по комнате дали курсокую или лабораторную реализовать 3х мерный просмотр какого то объекта (что то сугубо геометрическое) с использованием метода трассировки лучей и опять же точно не помню, но там в этом методе прори повороте объекта каким то обрпзом использовался еденичный вектор, так вот когда использовали действительно единичный векторо(тоесть с длинной 1) грани объекта начинали разлетаться ... короче говоря проблема в тос что значения всяких там тригонометрических функций имеют значения от 0 до 1 а координата точки на экране величина челочисленная а потому при округлении могут возникать значительные искажения. попробуй просчитывать матаматику твоих поворотов и перемещений на координатной плоскасти увеличенной скажем в 1000 раз, а при прорисовке соответственно уменьшай ...
Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
линий на мониторе Igmak Мониторы 1 01.12.2011 12:17
ЧЕРТАВЫ ЛИНИЙ radu Видеокарты 4 27.02.2009 18:35
Рисование линий со стрелками Specter50000 Visual C++ 14 24.12.2007 01:01
Линии на Canvas Iv@nich C++ Builder 6 22.08.2007 12:38
Два способа рисования линий STDark .NET 0 19.03.2007 06:28
Проектирование линий и кругов на С++ Reistlin Вопросы начинающих программистов 1 26.06.2006 18:25
GDI и рисование линий Sever .NET 12 13.03.2006 00:48
Рисование линий ReMY Программирование графики 0 28.07.2005 18:46
Создание графики в canvas Northwood C++ Builder 9 13.03.2005 15:43
Как устранить мерцания canvas Spider_Den C++ Builder 5 24.09.2004 16:52
Пересечение линий как организовать Beer Программирование графики 2 10.06.2004 01:09
Способы рисования на Canvas the_unforg C++ Builder 1 07.09.2003 17:50



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов