计算笛卡尔偏移坐标 space

Calculate offset coordinate in a cartesian space

如果我有 2 个坐标点 A(x,y) 和点 B(x,y)

我需要计算特定距离和角度 90 度和 270 度的偏移坐标。 我怎么能?

找不到正确的公式。

如何获取C,D,E,F的坐标?

差异向量

dx = B.X - A.X
dy = B.Y - A.Y

垂直矢量

px = -dy
py = dx

矢量长度(也许您的数学库中有现成的函数 Hypot 或类似函数)

len = sqrt(px*px+py*py)

归一化(单位长度)向量

nx = px / len
ny = py / len

现在查找距离 dist:

的点
C.X = A.X + nx * dist
C.Y = A.Y + nY * dist

G.X = A.X - nx * dist
G.Y = A.Y - nY * dist

B 附近的点相似