1

我有一組'N'標籤及其歐幾里德距離。如何在2D平面上繪製這些信息?如何繪製X-Y平面上標籤之間的歐幾里德距離

對於3個標籤,情節是一個三角形,其中每個角落都是標籤。

我正在尋找一個近似算法來繪製超過3個標籤到X-Y平面上,這是指示實際距離。

我附加了一個七個標籤矩陣的截圖與他們的歐氏距離 7 tag matrix

+0

你是如何計算這些距離的?你確定他們可以用2D繪圖嗎?你可以將數字作爲代碼塊而不是圖像發佈嗎? – weston

回答

0

爲點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 
+0

你能解釋4點嗎?以A,B,C,D作爲標籤,所有成對距離爲1個單位。 謝謝@Mbo –

+0

二維情況是不可能的(所有等距離的4點形成三維四面體)。我會在幾分鐘內描述真實情況 – MBo

0

3點示例您可以使用force-directed graph drawing算法。簡而言之,這個想法是從一個隨機佈局開始,在每對節點之間放置一個彈簧,該節點具有指定的距離,根據它們當前的距離是否過大來施加一種或另一種力,然後模擬該系統平衡。

相關問題