2017-04-26 153 views
1

即使可能存在簡單的解決方案,但仍然停留在此處一段時間。以編程方式查找直角三角形的第三個頂點的座標

鑑於兩點:

P1 =(5,5)和P2 =(6,10) 這兩點d = 5.1

是否有可能找到的,其中的座標之間的距離第三個頂點需要去哪個點做一個等腰直角三角形?

enter image description here

任何人能幫助我們嗎?

這是正確的嗎?

double ax = 5; 
    double ay = 5; 
    double bx = 6; 
    double by = 10; 

    // Vector of A > B 
    double abx = bx - ax; 
    double aby = by - ay; 

    // Rotate 90 degrees to get Vector B > C 
    double n = Math.toRadians(90.0);  
    double rx = (abx * Math.cos(n)) - (aby * Math.sin(n)); 
    double ry = (abx * Math.sin(n)) + (aby * Math.cos(n)); 

    // Point B + Vector B > C 
    double cx = bx + rx; 
    double cy = by + ry; 

與P3 =(1,11)

enter image description here

+1

是的,有。請記住,如果要用兩個現有點構成等腰直角三角形,則有效的第三點有6種可能的解決方案。 – f1sh

+2

在紙上試一下然後翻譯成代碼。 –

+0

能夠告訴我如何? –

回答

0

這裏結束有一個提示:

enter image description here

作爲@f1sh said,有6點(紅色)。在圖像中,我旋轉了線條以便於表示,因此您可以將其旋轉回來並查看您應該獲得的結果。

+0

想想我明白了,你能看看我的答案嗎? –

+0

@NemoNobody看起來不錯,找到一個要點。您應該將其作爲回答發佈,而不是編輯問題。這將允許同行評審。 – user1803551