Алгоритмы, дискретная математика и пр.'s Journal (original) (raw)

3:36p

Нарисовать стрелку.. Хех, что-то я совсем плохой стал. Никак не пойму, как правильно сделать.
Вобщем, есть некий отрезок, заданный координатами начальной (x1, y1) и конечной (x2, y2) точек
Теперь мне надо из этого отрезка сделать стрелку. Т.е. в конечной точке добавить еще две линии, изображающие наконечник. Встал вопрос, как высчитать те две дополнительные точки, с помощью которых я отрисую наконечник.
Пока придумал такой алгоритм:

  1. перемещаем центр системы координат в точку (x2, y2)
  2. высчитываем координаты точки, лежащей на отрезке на заданном расстоянии от (x2, y2)
  3. поворачиваем эту точку в обе стороны на заданный угол относительно центра координат, получив тем самым искомые точки
  4. возвращаем систему координат на прежнее место

Данный пересчет будет производиться довольно часто (пишется дизайнер схем), и мне кажется, что вышеописанный алгоритм будет здорово тормозить.
Может, кто подкинет более приемлемое решение?

UPD:Проблема решена. Спасибо.