Python 给定直线上的另一点和垂线上的两个点,如何求直线上一点的X坐标?

Python 给定直线上的另一点和垂线上的两个点,如何求直线上一点的X坐标?,python,math,numpy,Python,Math,Numpy,我正在编写一个python应用程序来选择矩形区域,当用户设置了2个点(矩形的长度)时,第三个点和第四个点在形成矩形时受到约束,其中矩形的宽度由鼠标光标和最后一个点的Y差给出 这里有一张快速的图片来解释,我在寻找点C的X坐标 我知道: A(2,3) B(5,5) 角度=90度 C的Y坐标是7 我不知道如何解决这个问题。。。使用向量?我在我的项目中使用numpy。这更像是一个数学问题,而不是numpy问题 (AB)的斜率是(y\u a-y\u b)/(a-b)。因此,任何垂直于(AB)的斜率都

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

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

我知道:

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

我不知道如何解决这个问题。。。使用向量?我在我的项目中使用numpy。

这更像是一个数学问题,而不是numpy问题

(AB)的斜率是
(y\u a-y\u b)/(a-b)
。因此,任何垂直于(AB)的斜率都是
p=(b-a)/(y_a-y_b)
(与原始斜率的倒数相反)

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


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

答案不错!但是如果C的垂线不是穿过B,而是穿过A和B之间的任何一点呢?我知道坐标A,B和C,但我想找出垂线穿过AB的点的坐标line@FMM然后再问另一个问题:)你得到这个问题的答案了吗?我也面临同样的问题。你能分享你的python代码以寻求帮助吗?很抱歉回复太晚。。。最后,我使用了openCV库中的
minareact
方法,我在这个项目中也使用了该方法。这与C点垂直于A-B线不再相关,因为我正在绘制一个包含3个点的矩形: