Chr*_*oyd 5 algorithm raytracing polygon
正如问题所问的那样。最好用伪代码回答并引用。正确答案应该重视速度而不是简单。
请参阅3D 中射线、线段、平面和三角形的交点。您可以找到对多边形进行三角剖分的方法。
如果您确实需要光线/多边形相交,则可以使用实时渲染的 16.9 (第二版为 13.8)。
我们首先计算射线和 [多边形平面] 之间的交点,这可以通过替换射线
pie_p轻松完成。x
n_p DOT (o + td) + d_p = 0 <=> t = (-d_p - n_p DOT o) / (n_p DOT d)
Run Code Online (Sandbox Code Playgroud)
如果分母
|n_p DOT d| < epsilon, 其中epsilon是非常小的数,则认为射线平行于多边形平面并且不会发生相交。p否则,计算射线和多边形平面的交点:p = o + td。此后,判断是否在多边形内部的问题p从三维减少到二维......
请参阅本书了解更多详细信息。
| 归档时间: |
|
| 查看次数: |
7237 次 |
| 最近记录: |