В задаче проведения прямоугольных полигонов граничащих с линией нужно было зная вектор линии провести перпендикуляр к ней и захотелось сделать это наиболее простым способом. Оказалось, что это действительно просто.
Положим, что задан вектор $R$ с координатами $(x,y)$. Чтобы получить вектор перпендикулярный ему, достаточно переставить значения координат местами и у одной из координат сменить знак:
$$
R=(x,y)
$$
$$
R'=(y,-x)
$$
$$
R''=(-y,x)
$$
В самом деле, скалярное произведение их с исходным вектором равно нулю независимо от исходных значений $x$ и $y$:
$$
(R,R')=xy-yx=0
$$
$$
(R,R'')=-xy+yx=0
$$
Нужно лишь учесть что получается вектор в точности той же длины что и исходный. И получаемые два вектора повернуты в разные стороны. На плоскости других перпендикулярных векторов больше нет, так что задача решена алгоритмически довольно просто.
Комментариев нет:
Отправить комментарий