2011-06-24 42 views
0

我想用C++實現一個決定任何給定的多邊形和金字塔切割的函數。確定任何給定的多邊形和金字塔的切割

這實際上證明比我想象的要簡單得多。

首先對於金字塔的每個邊緣,測試線平面相交(給定的多邊形是一個平面,由3個點組成)。這將導致切割平面上的新頂點。其次,由於多邊形不是無限平面,因此需要測試多邊形邊緣(三個)和每個邊緣之間的線相交。

回答

0

確實,這不是一個簡單的問題。爲了簡單起見,我們假設沒有平行線段。

首先確定您的凸多邊形所在的平面,然後剔除該平面與金字塔的交點。這導致第二個凸多邊形。

現在你應該找到兩個凸多邊形的交集。如何做到這一點,你可以找到here

+0

謝謝!我讀得太多了! – Leon