如何在给定线的另一个点和垂直线上的2个点的线上找到点的X坐标?

时间:2015-09-16 11:09:43

标签: python math numpy

我正在编写一个python app来选择矩形区域,当用户设置了2个点(矩形的长度)时,第三个和第四个点被约束形成一个矩形,其中矩形的宽度由鼠标光标和最后一个点的Y差异给出。

这里有一张快速图片来解释,我正在寻找C点的X坐标。

enter image description here

我知道:

  • A(2,3)
  • B(5,5)
  • 角度= 90度
  • C的Y坐标为7.

我不确定如何解决这个问题...使用向量?我在我的项目中使用了numpy。

1 个答案:

答案 0 :(得分:3)

这更像是一个数学问题,而不是一个笨拙的问题。

(AB)的斜率为(y_a - y_b)/ (a - b)。因此,与(AB)垂直的斜率为p=(b-a)/(y_a-y_b)(与原始斜率的倒数相反)。

从这里可以很容易地确定通过B的垂直于(AB)的方程:y-y_b=p*(x-x_b)。并将y_c替换为y以查找x_c

如果(AB)是水平的(0斜率),则存在问题(除以零)。在这种情况下,x_c只是x_b((BC)上的所有点都具有相同的x坐标)