Как найти параллельную линию для заданных координат A, B в 2D - PullRequest
0 голосов
/ 03 ноября 2018

У меня есть координаты A (x1, y1) и B (x2, y2). У меня есть длина и угол линии.

Мне нужно найти параллельную линию, которая дает мне координаты C (x3, y3) и D (x4, y4) на определенном расстоянии. Это наклонная линия.

Может помочь любой псевдокод или математическая формула.

Пример: данные координаты A (200,0) B (0,450). Угол линии 113,962. Длина линии 492,4.

Помогите мне найти координаты C и D на расстоянии 50 от координат A, B.

Пожалуйста, найдите изображение ниже, это линия с углом.

Angular line

Updated Image for finding parallel line

1 Ответ

0 голосов
/ 03 ноября 2018

Ваша линия имеет базовую точку (x1,y1) и вектор направления:

(dx, dy) = (x2-x1, y2-y1)

Нормализовать этот вектор, разделяя компоненты на длину вектора:

len = sqrt((x2-x1)^2 + (y2-y1)^2)
(udx, udy) = (dx / len, dy / len)

перпендикулярный вектор:

(px, py) = (-udy, udx)  
(note also reverse vector (udy, -udx) to shift onto another side)

Базовая точка для параллельной линии на расстоянии dist:

(nx, ny) = (x1 -udy * dist, y1 + udx * dist) 

Второй пункт, если вам нужно:

(sx, sy) = (nx + dx, ny + dy)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...