如果这很明显,我会提前道歉;我一直找不到合适的条款来输入 Google。
我想要做的是在修剪的 NURBS 表面上为任意参数范围找到一个边界体积(AABB 已经足够好了)。例如,(u,v) 在 (0.1,0.2) 和 (0.4,0.6) 之间。
编辑:如果有帮助,如果该方法将参数区域完全限制在下面段落中定义的边界区域内,那对我来说很好。我有兴趣细分这些区域。
在阅读了本文 ( http://www.cs.utah.edu/~shirley/papers/raynurbs.pdf )的这一段后,我开始思考这个问题,它解释了如何创建具有深度相关的边界体积树到表面的程度:
The convex hull property of B-spline surfaces guarantees that the surface is contained in the convex hull of its control mesh.
As a result, any convex objects which bound the mesh will bound the underlying surface. We can actually make a stronger
claim; because we closed the knot intervals in the last section [made the multiplicity of the internal knots k − 1], each nonempty
interval [ui; ui+1) [vj; vj+1) corresponds to a surface patch which is completely contained in the convex hull of
its corresponding mesh points. Thus, if we produce bounding volumes for each of these intervals, we will have completely
enclosed the surface. We form the tree by sorting the volumes according tothe axis direction which has greatest extent across the bounding volumes, splitting the data in half, and repeating the process.
谢谢!肖恩