我的数学有点生疏,看看它是多少年。
我添加了一个小示例图表,以使其更清晰。 我在笛卡尔坐标系中有2个点。在这一行,我采取随机点,在这个例子中中心。现在我在那一点绘制垂直线。我想知道该线上一个点的坐标,距离该点的某个已知距离。计算这个的公式是什么?
图表:http://i44.tinypic.com/9vcjlf.png
简而言之 已知常数:
必需:
提前致谢
答案 0 :(得分:3)
如果这些是A,B的坐标:
A = (Ax, Ay)
B = (Bx, By)
然后从A到B的矢量由下式给出:
vector AB = (Bx-Ax, By-Ay) = (BAx, BAy)
指向相同方向的单位矢量(长度为1的矢量)由下式给出:
(BAx, BAy)
unit vector AB = ------------------, where length = sqrt(BAx^2 + BAy^2)
length
现在,与AB垂直的单位向量由下式给出:
(-BAy, BAx)
unit vector perpendicular to AB = -------------
length
有两种可能的单位向量垂直于AB。上面显示的是您获得的 逆时针旋转单位矢量AB 90度。
鉴于上述计算,以下是所需的坐标:
coordinate at t1 = (Bx, By) + t1 * (unit vector perpendicular to AB)
coordinate at t2 = (Bx, By) + t2 * (unit vector perpendicular to AB)
coordinate at t3 = (Bx, By) - t3 * (unit vector perpendicular to AB)
要明确,
(Bx + t1*(-By+Ay), By + t1*(Bx-Ax))
coordinate at t1 = -------------------------------------
sqrt((Bx-Ax)^2 + (By-Ay)^2)
其他公式非常相似。