1 回答

TA貢獻1875條經(jīng)驗 獲得超3個贊
快速簡便地正確排序(半透明)三角形的解決方案
我稱之為“假投影排序”。如果可以假設(shè)三角形不相交,則只需檢查三角形(黑色或綠色)是否與四面體相交即可(綠色三角形的黑色坐標與相機位置的坐標)。
一個例子
第一個三角形坐標:
0.0, 0.0, 5.0
0.0, 5.0, 5.0
5.0, 5.0, 5.0
第二個三角形坐標:
0.0, 0.0, 5.0
5.0, 0.0, 5.0
5.0, 0.0, 5.0
相機位置
1.15, 5.8, 5.5
然后,四面體坐標將是來自三角形(例如,第一個)和相機位置的坐標。
0.0, 0.0, 5.0 // First coordinate from the first triangle
0.0, 5.0, 5.0 // Second coordinate from the first triangle
5.0, 5.0, 5.0 // Third coordinate from the first triangle
1.15, 5.8, 5.5 // Camera position
您需要做的最后一件事是檢查第二個三角形是否與四面體相交。如果第二個三角形相交,則它覆蓋第一個三角形。如果使用第二個三角形的坐標來創(chuàng)建四面體,則需要檢查第一個三角形的交點,而不是第二個。
筆記
不要使用Java的TreeSet或TreeMap使用“假投影排序”來比較三角形,否則會產(chǎn)生不正確的排序。
添加回答
舉報