我正在编写一个Python应用程序来选择矩形区域,当用户设置了2个点(矩形的长度)时,第三个和第四个点被约束形成一个矩形,其中矩形的宽度是给定的鼠标光标与最后一个点的 Y 差值。
这是一个简单的图片来解释,我正在寻找点 C 的 X 坐标。
我知道:
- A(2,3)
- B(5,5)
- 角度 = 90 度
- C 的 Y 坐标为 7。
我不知道如何使用向量来解决这个问题?我在我的项目中使用 numpy。
最佳答案
这更像是一个数学问题,而不是一个 numpy 问题。
(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 坐标)
关于python - 给定直线上的另一个点和垂直线上的两个点,如何找到直线上一点的 X 坐标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32606940/