Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как программно нарисовать стрелку [D5, Win95/98, WinME, NT4, Win2k, WinXP]


ALFA ©   (2002-07-19 19:55:00) 

Здравствуйте!

Не подскажите как программно нарисовать стрелку на канве
имея две токи А(x,y) и Б(x,y) (Как рисуется стрелка в Фотошопе)

Мне нужен сам расчет - если кто рисовал подскажите или встречал гдето подскажите ссылку Плиз очень надо
А то голову уже поломал в геометрических расчетах.


Viewer   (2002-07-20 21:52:00) [1]

Преобразование координат при сдвиге и повороте
Xk=(X-X0)*CosA+(Y-Y0)*SinA
Yk=(Y-Y0)*CosA-(X-X0)*SinA

x-горизонталь
y-вертикаль
A-угол поворота против часовой
Предварительно рассчитываются координаты конца стрелки
как Ye=0, Xe=L (относительные)
Координаты лучей как X1=X2=L-S*Cos(Q/2)
Y1=S*Sin(Q)
Y2=-Y1
S-длина лучей, Q - угол раствора
Затем все вращается по первым формулам


ALFA   (2002-07-20 19:59:00) [2]

В геометрии
Координаты изменяются в процессе работы программы
поэтому стрелка прорисовывается не всегда (конкретнее конец стрелки)
Я рисую сначала отрезок, потом вычисляю уравнение прямой, нахожу точку от нее в разные стороны симметрично ставлю еще 2 точки и от них рисую ребра стрелки так вот они работают только если точка первая равна А(x.y) а Б(x до x первой точки,y до y первой точки)


ALFA   (2002-07-20 19:55:00) [3]

В геометрии
Координаты изменяются в процессе работы программы
поэтому стрелка прорисовывается не всегда (конкретнее конец стрелки)


Viewer   (2002-07-20 00:26:00) [4]

Вы хотите чтобы мы поверили, что в 25 лет и с высшим образованием Вы запутались в трех соснах ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо