我会事先道歉,以防这是显而易见的;我一直找不到合适的条款放入谷歌。
我要做的是找到一个边界体积(aabb足够好),用于修剪过的NURBS曲面上的任意参数范围。例如,(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.
谢谢!肖恩