Расчет координат параллельных линий с произвольным углом - PullRequest
0 голосов
/ 07 апреля 2020

У нас есть 2 параллельные линии в 2D-пространстве, разделенные 5 единицами:

Черный - 0,0 -> 20,0

Красный - 0,5 -> 20,5

Угол составляет 0 градусов. Мы всегда знаем координаты черной линии и угол в градусах. Координаты красной линии должны быть рассчитаны с учетом произвольного угла.

sample

Существует ли какая-либо формула для такого расчета?

1 Ответ

2 голосов
/ 07 апреля 2020

Найти вектор направления для первой строки

dx = x2 - x1
dy = y2 - y1

Нормализовать его

len = sqrt(dx*dx + dy*dy)
dx = dx / len
dy = dy / len

Получить перпендикулярный вектор (обратите внимание, что это «правая» норма, для «левых» один знак изменения)

nx = dy
ny = -dx 

Получите концы параллельного сегмента с d = параллельное расстояние

x3 = x1 + d * nx
y3 = y1 + d * ny
x4 = x2 + d * nx
y4 = y2 + d * ny
...