计算一条直线的垂线上某一点的笛卡尔坐标

3

我的数学有点生疏,因为已经好多年没有接触了。

我添加了一个小的示例图表,以使这更加清晰。在笛卡尔坐标系中,我有2个点。在这条线上,我取一个随机点,在这个示例中是中心点。现在我在那个点上画出垂线。我想知道该线上距离该点一定距离的某个已知点的坐标。计算公式是什么?

图表:http://i44.tinypic.com/9vcjlf.png

简而言之 已知常量:

  • 点A、B和C的坐标。
  • t1、t2、t3的长度。

要求:

  • 彩色点的坐标。

提前致谢


你不需要点C。从给定的方向(x,y)开始,然后方向(-y,x)是垂直的。 在你的情况下,给定的方向是B-A。现在调整长度即可。 - Wolfgang Kuehn
1个回答

4
如果这些是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)

其他公式非常相似。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接