文章目錄
- 一、簡介
- 二、實現代碼
- 三、實現效果
- 參考資料
一、簡介
這里實現一種基于點的射線法來判斷一個點是否一個多面提的內部,通過不停的生成隨機點,以達到我們想要的效果,思路其實相對簡單,但是很實用。具體內容如下:
1. 首先,我們需要構建隨機方向的射線(半無限射線)。
2.計算它穿過多少個面片。在每個與多面體的面發生相交時,光線在多面體的內部和外部之間切換。這叫做喬丹曲線定理。
3、最后我們判斷該射線與多面體的相交情況就可以很容易判斷點是否在多邊形的內部(奇數)還是外部(偶數)。直到生成的隨機點數達到我們指定的閾值,則算法停止。
注:這里為了加速使用了AABB樹這一結構。
二、實現代碼
#include <iostream>