快速稳健的球面多边形点包含测试及2D角色动画在VR环境中的应用
1. 快速稳健的球面多边形点包含测试
在处理球面多边形点包含测试时,为了实现快速准确的判断,采用了构建多级网格并预先确定网格中心点的方法。
1.1 预先确定网格单元中心点
在构建多级网格后,需要确定所有网格单元中心点的包含属性,这些预先确定的中心点将作为先验信息,用于促进查询点的判断。具体步骤如下:
- 从第一级网格开始确定中心点,然后逐级处理,直到处理到最深级的网格。
- 对于每一级的每个网格,采用与相关方法类似的局部射线交叉法来确定中心点。即对于两个相邻的中心点 (O_1) 和 (O_2),用弧段连接它们。若 (O_1) 的包含属性已知,则可通过计算弧段与弧段所穿过的单元格中多边形边的交点数量,依据表1的规则推导出 (O_2) 的包含属性。
(O_1) 属性 | 交点计数奇偶性 | (O_2) 属性 |
---|---|---|
内部 | 奇数 | 外部 |
内部 | 偶数 | 内部 |
外部 | 奇数 | 内部 |
外部 | 偶数 | 外部 |