是否有任何從一個點的坐標計算出來的數字(我稱它為點屬性),只有在兩個點處于完全相同的位置時才是相同的?
例如,"該點與其他點的距離 "的屬性,例如原點[0,0],并不是我正在尋找的屬性,因為圓上的每一個點,其中心點都在其他點上,其屬性值是相同的。
最好的解決方案是一個屬性,如果我有兩個點的這種屬性,我就能計算出它們之間的距離。
uj5u.com熱心網友回復:
你想把空間的維度從2降低到1。理論上,由于數字的無限性,這在有限的領域是可能的。你可以使用空間填充曲線來完成這個理論上的壯舉。你無法為無限的二維空間構造一條空間填充曲線。
但由于我們是在一個編程網站上,我假設你想在計算機中實作這一點。現在數字不再是無限的,我們有一個有限的數字集。而這不可能用一個浮點數來表示兩個浮點數中的所有資訊。
現在,如果你說的是一個有限的離散域(整數坐標的網格中的點,比如影像的像素),那么問題就簡單多了。MBo給出了一個任意的映射,其他的映射可以被設計出來。解決網格元素或像素的最典型的解決方案是計算x width * y或y height * x,其中width和height是網格/影像的寬度和高度,而整數坐標從0開始。
uj5u.com熱心網友回復:
對坐標進行聯合以獲得單一的值。例如,如果坐標是32位的整數,使用位移、乘法或型別轉換,為一個點制作uint64的值并不難
然后在需要時提取組件 如果坐標范圍相當小(例如10000),一個
標籤:val = pt.com
val = pt.x (pt.y << 32)
val = pt.x pt.y * 4 294 967 296
val = (uint64) pt
x = val & 0xFFFFFFFF
y = val >> 32
int32值可以存盤兩個組件
