有什麼演算法能把任意凹多面體分割為多個凸多面體?

時間 2021-05-08 07:48:09

1樓:

可以試一試CGAL(computational geometry algorithms library),看看是否是你需要的。

2樓:乘著歌聲的翅膀

如果是切三稜錐的話很簡單啊,因為三稜錐也就是四面體,是不可能有凹的,然後從多面體最近鄰的3個頂點外加與其一相鄰的乙個頂點開始切唄(要判定這四個點內部是否屬於這個多面體),切下乙個三稜錐後剩下的繼續切,總會分割成非常多的三稜錐的。

所以我感覺題主問的應該是,分割成盡可能少的多面體。而且舉得例子裡也是分割成兩個三角柱啊,並不是三稜錐。要知道題主這個例子能切成6個三稜錐的……(這方面交給別人吧

3樓:

生成opengl三角形時寫過乙個演算法。

1. 找凹點

2. 然後再找這個凹角的角等分線,然後在剩下的非臨近點中,找距離這個等分線最近的點,以這個點和上面的凹點為分割,將凹多邊形分割。

3. 剩下的多邊形乙個變兩,如此遞迴。

這裡的思想就是,凹點最優的分割一定是對半分,這樣凹點內角一定小於180,分割後,這個凹點就不是凹點了。但這個點在多邊形內未必存在,就找距離這個最近的那個,最大程度分減少凹點的內角。

4樓:Milo Yip

這類演算法的關鍵字應該是 convex decomposition,如[1]。也有一些近似化的演算法,如[2]。

可以考慮使用一些現成的庫,如 https://github.com/kmammou/v-hacd

高斯到底幹了什麼?為什麼這麼多演算法裡有他?

已登出 他主要是許多學科的奠基人。高斯的工作放到現在看都不是很深刻,但是那時候研究數學的人太少了,樓不是他建的,但是地基都讓他打了,所以一整類受他啟發的工作都以他命名,比如說正態分佈。還有乙個例子是牛頓,牛頓法其實只是泰勒展開的簡單推論,但是數值分析和優化裡主流的quasi newton法就是一整類...

大林演算法與PID演算法有什麼本質區別

李崇 應某總的要求 施法前搖 試著回答一下此問題。先說結論,兩者最初的思路完全不同,我不知道為啥會有人會問這個問題,有相似之處嗎?大林法是針對純滯後系統的乙個控制演算法,思路上比較接近使用參考模型 我後面會具體解釋的。pid我相信大家都很了解了,只說一句,pid的兩個零點也會對系統的純延遲起到很好的...

現在的資本家能把工人看的有多透徹?

普凡 第一次資本家沒把工人看透,被革命痛徹肺腑。第二次一小部分資本家記住教訓了,你看李嘉誠多狡猾,關鍵時刻溜了。規避風險在於境界,記不住教訓的比比皆是。 歸零者 還用得著看透,合縱連橫戰國時期就有的玩意兒還用的著看透?本質上都是一群烏合之眾因為自己利益出來搞事,給領頭的一點甜頭瞬間這幫領頭的就調轉槍...