初識光線投射的網格模型體素化
阿新 • • 發佈:2021-09-15
看了github上光線投射的體素化應用,記下體會:
我們可以想像:
1、把模型裝到一個方形盒子裡,我們站在盒子的正前面,把盒子朝著我們的這個面橫、豎劃很多條線,把它分成一個很多小格子的網格。
2、然後對每個小格子:朝裡發射一條光線,顯然這時光線的狀態是在模型外的。
3、與模型網格碰到以後,把光線狀態置為模型內,讓光線繼續向裡前進。
4、再一次碰到模型網格時,把光線狀態置為模型外,並把兩次碰到之間的距離分成一段一段的,每一段都標記為在模型內。
5、重複3、4步驟,直到光線超出盒子範圍都沒有碰到模型網格。然後就對下一個小格子又從步驟2開始。
大概就是上面的這幾步。這個其實和二維上的判斷點在封閉圖形的內部還是外部有點像的。
上面提到的光線是否碰到網格,就是光線與三角面求交。而體素標記則可以用一個三維陣列來存。