我有 A(x1,y1) 和 B(x2,y2) 坐标。我有线的长度和 Angular 。
我需要找到在特定距离处给我 C(x3,y3) 和 D(x4,y4) 坐标的平行线。它是一条斜线。
任何伪代码或数学公式都可以提供帮助。
例如:给定坐标 A(200,0) B(0,450)。这条线的 Angular 是 113.962 。线的长度 492.4.
帮我找到距离 A、B 坐标 50 处的 C 和 D 坐标。
请看下图,是一 strip Angular 线。
最佳答案
你的直线有基点 (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)
关于javascript - 如何在 2D 中找到给定 A、B 坐标的平行线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53132837/