2017-03-16 45 views
0

我需要創建一個Voronoi圖,最終將在單獨的代碼中使用。這個獨立的代碼只能處理多邊形,最多隻有6個(六邊形)。Matlab中的Voronoi圖:指定單元邊數的上限

Matlab是否提供了指定Voronoi單元可以包含的邊數的上限的功能?或者,是否有一種指定邊界限制的迂迴方式?

回答

3

不,不存在這種可能性,因爲它違背了Voronoi圖的定義,更一般地說,這是沒有意義的。

Voronoi圖具有精確的定義,允許具有取決於空間維數的最小數以上的任意數量的邊的多邊形單元。如果限制邊緣的最大數量,那麼您不再進行Voronoi分割。因此在voronoi函數中沒有理由實現該功能。然後,如果我們假設你談論二維情況,歐拉定理說明每個單元的平均邊數必須是6.如果禁止單元比6個邊具有更多的,則滿足平均值= 6約束條件,您還必須禁止具有比6條邊少的10的單元,並且因此僅允許具有正好邊的單元。

然後,您可以定義如何在您的tesselating算法中應用此約束,並且這非常複雜(如果不是不可能的話)。這就是爲什麼這個功能沒有在其他地方實現。

我強烈建議您檢查其他選項,而不是使用僅能處理所有可能性和/或非Voronoi鑲嵌的小子集的軟件。