我有A(x1,y1)和B(x2,y2)坐标。我有直线的长度和角度。
我需要找到一条平行线,该平行线可以在特定距离为我提供C(x3,y3)和D(x4,y4)坐标。它是一条倾斜线。
任何伪代码或数学公式都可以提供帮助。
Ex:给定坐标 A(200,0)B(0,450)。线的角度是113.962。行长492.4。
帮我找到距A,B坐标50度的C和D坐标。
请在下面找到图像,它与角度成一条线。
答案 0 :(得分:3)
您的直线具有基点(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)