CGAL 网格内部生成随机点
文章目录
- 一、简介
- 二、实现代码
- 三、实现效果
- 参考资料
一、简介
这里实现一种基于点的射线法来判断一个点是否一个多面提的内部,通过不停的生成随机点,以达到我们想要的效果,思路其实相对简单,但是很实用。具体内容如下:
1. 首先,我们需要构建随机方向的射线(半无限射线)。
2.计算它穿过多少个面片。在每个与多面体的面发生相交时,光线在多面体的内部和外部之间切换。这叫做乔丹曲线定理。
3、最后我们判断该射线与多面体的相交情况就可以很容易判断点是否在多边形的内部(奇数)还是外部(偶数)。直到生成的随机点数达到我们指定的阈值,则算法停止。
注:这里为了加速使用了AABB树这一结构。
二、实现代码
#include <iostream>