计算任意角度的平行线坐标

Calculating paralel lines coordinates with arbitrary angle

我们在 2D space 中有 2 条平行线,间隔 5 个单位:

黑色 - 0,0 -> 20,0

红色 - 0,5 -> 20,5

角度为0度。我们总是知道黑线的坐标和以度为单位的角度。给定任意角度需要计算红线的坐标。

有这样的计算公式吗?

找到第一条线的方向向量

dx = x2 - x1
dy = y2 - y1

正常化

len = sqrt(dx*dx + dy*dy)
dx = dx / len
dy = dy / len

获取垂直向量(注意是"right"法线,"left"一次换号)

nx = dy
ny = -dx 

获取平行线段以 d = 平行距离结束

x3 = x1 + d * nx
y3 = y1 + d * ny
x4 = x2 + d * nx
y4 = y2 + d * ny