2015-05-18 51 views
-2

我想在數學方面提供幫助。
我有2分。例如,
X1 = 0,Y = 0
X2 = 0,Y2 = 1
現在的問題是這樣的:找到一個正方形的其餘角落,給定兩個對角

  1. 我要檢查,如果我可以做一個正方形。

  2. 如果我能做出正方形,我想知道如何找到其他點。

我有這樣的公式來找到邊長:

sqrt(pow(x1-x2)+pow(y1-y2)) 

您可以找到問題here

+3

我投票結束這個問題作爲題外話,因爲它不是關於編程。 –

+1

如果你通過這個問題來回答問題並且是OP鏈接的,那麼它就是一個編程問題,而不是關於正方形的斜邊。但它仍然非常可怕,應該關閉。 – Teepeemm

+0

我沒有很好的風格 當問及有關問題時 –

回答

2

正方形的中心是任一對角線的中點;所以你的情況,我們有

cx = (x1+x2)/2 
cy = (y1+y2)/2 

從廣場到對角線的端點中心的載體是成直角,和相同的長度,從中心的矢量到另一端點對角線。因此,我們可以計算出從中心到X1向量,Y1說,通過90度旋轉,並用它來同時獲得另一條對角線的兩個端點:

vx = x1 - cx; vy = y1 - cy; // vector c->(x1,y1) 
ux = vy; uy = -vx;   // rotate through 90 degrees 
x3 = cx + ux; y3 = cy + uy; // one of the endpoints of other diagonal 
x4 = cx - ux; y4 = cy - uy; // the other endpoint 

你方的頂點(X1,Y1 ),(x3,y3),(x2,y2),(x4,y4)。

相關問題