Рисовать перпендикулярную линию на два набора точек в пиксельных координатах?

Например, у меня есть точки {x1 = 70,y1 = 200},{x2 = 50,y2 = 400} в пиксельных координатах. Если бы я нарисовал перпендикуляр к этой линии с начальной точкой (x1,y1), как бы мне получить конечную точку перпендикулярной линии в jogl?

Вот что я попробовал до сих пор: Вычислили нормаль: dx = x2-x1; dy = y2-y1;

DrawLine{(x1,y1},(д, дй)}

Я пробовал отрицательные значения для DX и DY. не мог получить перпендикулярную линию. Любая помощь приветствуется.

1 ответ

Решение

Используйте (x1 + dy, y1 - dx) для линии, повернутой по часовой стрелке, и (x1 - dy, y1 + dx) для анти-". Главное, что вы забыли добавить координаты мира в вектор смещения для второй точка. (а также некоторые вещи, связанные со знаками)

Другие вопросы по тегам