我有一組'N'標籤及其歐幾里德距離。如何在2D平面上繪製這些信息?如何繪製X-Y平面上標籤之間的歐幾里德距離
對於3個標籤,情節是一個三角形,其中每個角落都是標籤。
我正在尋找一個近似算法來繪製超過3個標籤到X-Y平面上,這是指示實際距離。
我有一組'N'標籤及其歐幾里德距離。如何在2D平面上繪製這些信息?如何繪製X-Y平面上標籤之間的歐幾里德距離
對於3個標籤,情節是一個三角形,其中每個角落都是標籤。
我正在尋找一個近似算法來繪製超過3個標籤到X-Y平面上,這是指示實際距離。
爲點A的每一個三重,B,C,你需要解決的方程系統
(B.X - A.X)^2 + (B.Y - A.Y)^2 = dAB^2
(C.X - A.X)^2 + (C.Y - A.Y)^2 = dAC^2
(B.X - C.X)^2 + (B.Y - C.Y)^2 = dBC^2
注意有3個方程有6個未知數。因此,您在初始選擇時有一些自由:
將(0,0)座標指定給第一個點。 讓我們(BX,0)是第二點的座標。 查找BX,CX,CY。請注意,二次方程爲CY提供了兩個可能的位置 - 選擇正數。
爲下一個點解決類似的系統D.要從兩個可能的位置獲得正確的選擇 - 檢查距離dAD。
重複所有下一點的過程。
與距離dAB=1, dBC=1, dCD=1, dDA=1, dAC=1.414, dBD=1.414
A = 0,0
B = 1,0
C = 1,1 (another variant 1,-1)
for D using B,C we can calculate (0,1) and (2,0) - using dAD we choose the first one
你能解釋4點嗎?以A,B,C,D作爲標籤,所有成對距離爲1個單位。 謝謝@Mbo –
二維情況是不可能的(所有等距離的4點形成三維四面體)。我會在幾分鐘內描述真實情況 – MBo
3點示例您可以使用force-directed graph drawing算法。簡而言之,這個想法是從一個隨機佈局開始,在每對節點之間放置一個彈簧,該節點具有指定的距離,根據它們當前的距離是否過大來施加一種或另一種力,然後模擬該系統平衡。
你是如何計算這些距離的?你確定他們可以用2D繪圖嗎?你可以將數字作爲代碼塊而不是圖像發佈嗎? – weston