如何在 2D 中找到给定 A、B 坐标的平行线

use*_*853 2 javascript algorithm math geometry svg

我有 A(x1,y1) 和 B(x2,y2) 坐标。我有线的长度和角度。

我需要找到在特定距离处给出 C(x3,y3) 和 D(x4,y4) 坐标的平行线。它是一条斜线。

任何伪代码或数学公式都可以提供帮助。

例如:给定坐标 A(200,0) B(0,450)。线的角度是 113.962 。线的长度 492.4。

帮我找到距离 A、B 坐标 50 的 C 和 D 坐标。

请找到下面的图片,它是一条带角度的线。

角线

用于查找平行线的更新图像

MBo*_*MBo 5

你的线有基点(x1,y1)和方向向量:

(dx, dy) = (x2-x1, y2-y1)
Run Code Online (Sandbox Code Playgroud)

将此向量除以向量长度归一化:

len = sqrt((x2-x1)^2 + (y2-y1)^2)
(udx, udy) = (dx / len, dy / len)
Run Code Online (Sandbox Code Playgroud)

垂直向量:

(px, py) = (-udy, udx)  
(note also reverse vector (udy, -udx) to shift onto another side)
Run Code Online (Sandbox Code Playgroud)

距离 dist 处平行线的基点:

(nx, ny) = (x1 -udy * dist, y1 + udx * dist) 
Run Code Online (Sandbox Code Playgroud)

第二点,如果你需要:

(sx, sy) = (nx + dx, ny + dy)
Run Code Online (Sandbox Code Playgroud)