多年来,我的数学有点生疏。
我添加了一个小的示例图以使其更加清晰。我在笛卡尔坐标系中有两个点。在这条线上,我取一个随机点,在这个例子中是中心。现在我在那个点上画一条垂线。我想知道这条线上一个点的坐标,离那个点一定的已知距离。计算这个的公式是什么?
图表:http://i44.tinypic.com/9vcjlf.png
简而言之已知常数:
- 点A、B和C的坐标
- 长度t1、t2、t3
必需:
- 着色点的坐标
提前感谢
如果这些是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)
其他公式非常相似。