我的数学有点生疏,因为已经好多年没有接触了。
我添加了一个小的示例图表,以使这更加清晰。在笛卡尔坐标系中,我有2个点。在这条线上,我取一个随机点,在这个示例中是中心点。现在我在那个点上画出垂线。我想知道该线上距离该点一定距离的某个已知点的坐标。计算公式是什么?
图表:http://i44.tinypic.com/9vcjlf.png
简而言之 已知常量:
- 点A、B和C的坐标。
- t1、t2、t3的长度。
要求:
- 彩色点的坐标。
提前致谢
我的数学有点生疏,因为已经好多年没有接触了。
我添加了一个小的示例图表,以使这更加清晰。在笛卡尔坐标系中,我有2个点。在这条线上,我取一个随机点,在这个示例中是中心点。现在我在那个点上画出垂线。我想知道该线上距离该点一定距离的某个已知点的坐标。计算公式是什么?
图表:http://i44.tinypic.com/9vcjlf.png
简而言之 已知常量:
要求:
提前致谢
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
(-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)