1. 程式人生 > 其它 >初識光線投射的網格模型體素化

初識光線投射的網格模型體素化

看了github上光線投射的體素化應用,記下體會:

我們可以想像:

1、把模型裝到一個方形盒子裡,我們站在盒子的正前面,把盒子朝著我們的這個面橫、豎劃很多條線,把它分成一個很多小格子的網格。

2、然後對每個小格子:朝裡發射一條光線,顯然這時光線的狀態是在模型外的。

3、與模型網格碰到以後,把光線狀態置為模型內,讓光線繼續向裡前進。

4、再一次碰到模型網格時,把光線狀態置為模型外,並把兩次碰到之間的距離分成一段一段的,每一段都標記為在模型內。

5、重複3、4步驟,直到光線超出盒子範圍都沒有碰到模型網格。然後就對下一個小格子又從步驟2開始。

大概就是上面的這幾步。這個其實和二維上的判斷點在封閉圖形的內部還是外部有點像的。

上面提到的光線是否碰到網格,就是光線與三角面求交。而體素標記則可以用一個三維陣列來存。