簡體   English   中英

如何在XY平面上繪制標簽之間的歐幾里德距離

[英]How do I plot Euclidean distance between tags on X-Y Plane

我有一組'N'標簽和他們的歐幾里德距離。 如何在2D平面上繪制此信息?

對於3個標簽,該圖是一個三角形,其中每個角都是一個標簽。

我正在尋找一種近似算法,在XY平面上繪制超過3個標簽,這表示實際距離。

我附上了七個標簽矩陣的屏幕截圖及其歐幾里德距離 7標簽矩陣

對於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 3個點示例

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

您可以使用力導向圖繪制算法。 簡而言之,我們的想法是從一個隨機布局開始,在每對節點之間放置一個彈簧,其中指定的距離會根據當前距離是否過大而以某種方式施加力,然后將此系統模擬為平衡。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM