![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как программно нарисовать стрелку [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 лет и с высшим образованием Вы запутались в трех соснах ?