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 坐标。
请找到下面的图片,它是一条带角度的线。


你的线有基点(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)