2015-09-16 80 views
1

我正在寫一個python應用程序來選擇矩形區域,當用戶設置了2個點(矩形的長度),第三個和第四個點被約束在形成一個矩形,矩形的寬度由鼠標光標和最後一點的Y差異。如何找到給定線的另一點和垂直線上的2個點的線上點的X座標?

這裏有一個快速的圖片來解釋,我正在尋找的X C點的座標

enter image description here

我知道:

  • A(2,3)
  • B(5,5)
  • 角度= 90度
  • C的Y座標爲7.

我不知道如何解決這個問題...使用矢量?我在我的項目中使用numpy。

回答

2

這是一個數學問題,而不是一個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_cy來找到x_c

如果(AB)是水平的(0斜率),則存在問題(除以零)。在這種情況下,x_c只是x_b(BC上的所有點具有相同的x座標)

+0

啊!這很容易......好的謝謝 – fatz

相關問題