Алгоритмы, дискретная математика и пр.'s Journal (original) (raw)
3:36p
Нарисовать стрелку.. Хех, что-то я совсем плохой стал. Никак не пойму, как правильно сделать.
Вобщем, есть некий отрезок, заданный координатами начальной (x1, y1) и конечной (x2, y2) точек
Теперь мне надо из этого отрезка сделать стрелку. Т.е. в конечной точке добавить еще две линии, изображающие наконечник. Встал вопрос, как высчитать те две дополнительные точки, с помощью которых я отрисую наконечник.
Пока придумал такой алгоритм:
- перемещаем центр системы координат в точку (x2, y2)
- высчитываем координаты точки, лежащей на отрезке на заданном расстоянии от (x2, y2)
- поворачиваем эту точку в обе стороны на заданный угол относительно центра координат, получив тем самым искомые точки
- возвращаем систему координат на прежнее место
Данный пересчет будет производиться довольно часто (пишется дизайнер схем), и мне кажется, что вышеописанный алгоритм будет здорово тормозить.
Может, кто подкинет более приемлемое решение?
UPD:Проблема решена. Спасибо.