我想找到所有與整數座標位於四面體內(我想以某種方式能夠通過它們循環)的點。我知道定義四面體的四個點(A,B,C,D)的座標。找到四面體內的整數座標的所有點
我現在正在做的是我找到四面體的邊界框(A,B,C,D的最小和最大x,y,z座標),然後通過循環遍歷所有點邊界框。對於每一個這樣的點,我計算重心座標(使用the equations from Wikipedia)並檢查點是否在四面體內(如果任何重心座標爲負值或大於1,則該點不在裏面)。
有沒有更好的方法來做到這一點?目前,我正在測試的點(從邊界框)出現在四面體內的機會大約有1/6,所以我認爲我做了太多不必要的計算。
我正在使用通過三角測量更大體積(我擴大體積並希望使用四面體插值插值缺失值)生成的四面體列表。我沒有使用任何外部庫。
您也可以縮放平面方程,以使$ F $的值在平面上爲零,在相反的頂點爲1。這樣,所有有效點都有$ 0 <= F(x,y,z)<= 1 $ - 這意味着您可以爲每架飛機丟棄更多點。 –