2015-04-30 47 views
2

我給出了一個由平面列表表示的多面體。由這些平面分隔的體積是實際的多面體。查找三角形和多面體是否相交

我有一個三角形列表,我需要刪除所有相交或包含在這個多面體中的三角形。我的想法是檢查每個飛機與三角形的交點。如果它與三角形相交,則檢查代表交點的線段是否包含位於所有其他平面同一側的點。爲了捕捉三角形完全包含的情況,我們可以檢查三角形中的任何角是否包含在多面體中(通過檢查該點是否位於所有平面的同一側)。

我不確定此解決方案是否適用於所有情況,或者是否有更優雅的解決方案。我也不確定如何確定一個十字路口的線段是否包含所有其他平面同一側的一個點。

我也曾想過分離軸定理,但這需要我將多面體轉換爲一些不同的表示(因爲平面是無限的),我不知道該怎麼做。

任何幫助,將不勝感激!

+3

您可以在每個平面上剪切三角形。如果三角形完全消失,則不存在交點。 –

+0

你的解決方案接近我所支持的解決方案,所以我認爲這是一個解決方案。 –

+0

@NicoSchertler你是什麼意思與剪輯?試圖切斷每個多面體平面一側的三角形的所有部分? – Janiels

回答

0

正如@NicoSchertler在評論中建議的那樣,一個解決方案是取每個三角形並將其夾在所有平面上。如果沒有剩下的點(或3點以下,所以它不是三角形),則三角形與多面體相交。這似乎運作良好。