2009-09-10 165 views
2

這是我想解決的問題:如何均勻分佈5個點到不規則形狀上?

我有一個不規則的形狀。我該如何在這個形狀上均勻分佈5個點,以便每個點之間的距離相等?

+4

這是一張照片絕對值1000字的情況之一。 – 2009-09-10 17:56:26

+1

你的意思是沿着一個形狀的邊緣選擇一個任意點,然後再放4個點,每個點距離最後一個總周長的1/5?或者按點來表示頂點? – Eric 2009-09-10 17:56:59

+0

這個味道像作業... – 2009-09-10 17:57:58

回答

6

這在數學上是不可能的。它只適用於一小部分基本形狀。

但是也有一些解決方案,您可以嘗試:

  1. 分析方法。從P0點開始,在P0周圍創建一個球體並與基本形狀相交,爲您提供一組曲線C0。然後在C0的某處創建另一個點P1。再次,在P1周圍創建一個球體並與C0相交,給你一組點C1,你的第三個點P2將成爲C1中的一個點。等等等等。這種方法保證距離限制,但它也很大程度上取決於初始條件。

  2. 迭代法。基本上是形式發現。您在對象上創建了一些點,並且還在共享距離約束的點之間創建了彈簧。然後你解決春季的力量並相應地移動你的分數。這很可能會將它們推離基礎形狀,因此您需要將它們拉回到基礎形狀上。重複,直到你的點不再移動,或者直到距離約束滿足容差。

  3. 抽樣方法。將基礎幾何體轉換爲體素空間,並開始挖出所有與新插入點太靠近的體素。這可以確保你永遠不會把兩點靠得太近,但它也會忍受寬容(可能是性能)的問題。

如果您可以提供有關幾何特徵和約束條件的更多信息,則可以提供更具體的答案。

+6

你在說什麼樣的基礎形狀?無法在空間中放置五個點(最多三個維度),並且所有配對距離都相等。從您提到的分析方法中很容易看出。前三點(ABC)將形成等邊三角形;下一個(D)將使它成爲一個正常的四面體。當你嘗試把第五(E),如果你把它從ABC等距離的,它要麼是在d或d超過由ABC定義的平面反射,然後DE不會是正確的距離。 – Cascabel 2009-09-10 18:07:55

+0

我不完全確定你的意思是幾何形狀的本質和約束......但不規則的形狀是一個地方/鄰域。節點是緯度和經度點 – saliem 2009-09-10 18:14:46

+0

@Jefromi;你不能讓所有點的距離相等,但如果你有5個點和10個距離約束,解決方案*可能是可能的。 – 2009-09-10 18:20:02

8

大衛說這是不可能的,但事實上有一個回答左邊的領域:只有把所有的點上彼此!它們都與所有其他點具有相同的距離:零。

事實上,無論輸入形狀如何,這是唯一有解決方案的算法(即所有成對距離相同)。

我知道這個問題要求將「均勻」表達出來,但由於沒有正式定義,我期望這只是一個嘗試來解釋「所有成對距離是相同的」,在這種情況下,我的答案是「偶數」。

+1

LOL聰明的解決方案。@ redtuna – saliem 2009-11-06 04:57:20