径向NURBS(Radial NURBS)
NURBS是Non-Uniform Rational B-Spline(非均匀有理B-样条)的缩写。NURBS是一种很常见的曲线和曲面。关于NURBS的详细论述超出了本章的讨论范围,可以参考由Les Piegl和Wayne Tiller合著的《The NURBS Book》(第二版,Springer-Verlag出版,ISBN 3-540-61545-8)。
径向NURBS面由一系列加权控制点来定义。这些控制点定义一条从原点开始的曲线,该曲线位于YZ平面上,沿+Y方向。一旦定义了曲线,绕Z轴将该曲线旋转360度形成一个旋转图形。与样条曲面不同,NURBS曲面实际上不经过任何控制点,除了第一个和最后一个控制点以外。可以如下例所示。
每一个控制点都有一个正"y"坐标,一个"z"坐标(可正可负),以及权重"w"。第一个控制点总是位于y = 0,z = 0处(因为用户无法修改此控制点,因此将其定义为控制点0),所以曲线从表面顶点原点开始。接下来的控制点,从1到想要的最大点数目进行编号,编号大小沿+y方向单调向外延伸。为了确保样条拟合的数值稳定性,y值的间隔应该至少是1.0E-3镜头单位。当使用此表面设计成像系统时(其中波前差是一个重要指标),应将控制点1的z坐标设置为零,并将控制点1的y坐标设置为控制点2的y坐标的一小部分(在这种情况下,控制点2实际上是该曲面上关注的第一个点);这样做可以避免在原点附近表面形状出现不连续性,否则可能会导致错误的波前差结果。

最初的权重都应该设置成1.0。权重越高,曲面越接近实际的控制点。权重越低,就意味着对曲面接近控制点的限制越少。有关权重对NURBS曲线影响的详细信息,请参考上面提到的参考资料。
定义的最后一个点的y值决定了表面的最大径向净孔径。这个值一般来讲应该是固定的,不应该是变量。在定义的曲线范围内,任何一条与表面无交点的光线都会出现"光线丢失(ray miss)"的错误信息而终止(追迹)。
使用NURBS描述的优点在于,它可以定义任何形状并进行可靠的追迹。对于不寻常的不能用多项式描述的非球面校正,可以用NURBS进行建模。
使用NURBS描述的缺点包括光线追迹的速度很慢,有时候很难找到合适的曲面控制点的起始值及权重。
该表面不使用任何参数栏。
径向NURBS面的参数定义
参数# | 定义 |
13 | 控制点的数目。至少需要4个点,最多不能超过60个。 |
14 | 控制点1的y坐标。 |
15 | 控制点1的z坐标(矢高)。 |
16 | 控制点1的w(权重)值。 |
3n+11 | 控制点n的y坐标 |
3n+12 | 控制点n的z坐标(矢高) |
3n+13 | 控制点n的w(权重)值 |
下一部分: