论文部分内容阅读
摘 要:本文针对船体曲面的NURBS表达与设计进行探讨分析。
关键词:船体曲面;NURBS;非均匀
概述:
NURBS是非均匀有理B样条曲线(Non-Uniform Rational B-Splines)的缩写,NURBS由Versprille在其博士学位论文中提出,1991年,国际标准化组织(ISO)颁布的工业产品数据交换标准STEP中,把NURBS作为定义工业产品几何形状的唯一数学方法。1992年,国际标准化组织又将NURBS纳入到规定独立于设备的交互图形编程接口的国际标准PHIGS(程序员层次交互图形系统)中,作为PHIGS Plus的扩充部分。Bezier、有理Bezier、均匀B样条和非均匀B样条都被统一到NURBS中。此理论如今被广泛应用到船舶设计领域中。
一、NURBS曲线与曲面的定义
一条k 次NURBS曲线可以表示为一分段有理多项式函数,其数学定义为:
其中di(i=0,1, ,n)是控制顶点;wi(i=0,1,L,n)称为权或权因子( weights),分别与di(i=0,1, ,n)相联系;Ni,k(u)是k次B样条基函数,由节点矢量U=(u0,u1,u2,L,un+k+1)按德布尔递推公式决定:
这里di,j(i=0,1,L,m;j=0,1,L,n)是控制顶点,呈拓扑矩形阵列,形成一个控制网格;wi,j是与控制顶点di,j相联系的权因子;Ni,k(u)(i=0,1,L,m)和Nj,1(v)(j=0,1, ,n)分别为u向k次和v向1次的规范B样条基,分别由u向节点矢量U=[u0,u1, ,um+k+1]与v向节点矢量v=[v0,v1, ,vn+1+1]决定。
在大多数工程应用中,k 、l 取为3,可满足产品定义的要求。
二、NURBS曲面的反求
2.1NURBS曲线的反求
2.1.1基本原理
由三次NURBS曲线的齐次坐标表达式:
其中:Di(i=0,1, ,n)为NURBS曲线的带权控制顶点,即Di=[widi wi];H{}表示中心投影变换,投影中心取为齐次坐标系的原点,即
可知: 一条二维空间中三次NURBS曲线可以看成是三维空间的非有理三次B 样条曲线 在超平面w=1上的投影,因此,若一条三维空间的 k 次非有理B样条曲线依次通过点Qj(j=0,1, ,m),则改曲线在超平面w=1上的投影必通过qj(j=0,1, ,m),其中qj是Qj超平面w=1上的投影。也就是说,三维空间中由控制定点Di= [widi wi]=[wixi wiyi wi](i=0,1, ,m)决定的非有理B样条曲线在超平面w=1上的投影,正好就是二维平面上以di=[xi yi](i=0,1,L,n)为控制定点、以wi(i=0,1, ,m)为权值决定的NURBS曲线。
2.1.2NURBS曲线的反求
为了使一条三次B样条曲线通过一组数据点Qj=[wjqj wj],反求过程一般地使曲线的首末端点分别与首末数据点一致,使曲线的分段连接点分别依次与B样条曲线定义域内的节点一一对应,即Qi点有节点值u3+j(i=0,1, ,m)。该B样条插值曲线将有n个控制顶点Di(i=0,1,L,n)与节点矢量U=[u0,u1,L,un+3+1]来定义,其中,n=m+3-1,即控制点数目要比数据点数目多出3-1=2个,共有m +3个未知顶点。由端点插值要求,应取3+1=4重节点端点的固支条件。取规范定义域 ,于, 是有u0=u1= =u3=0,un+1=un+2= =un+3+1=1。对数据点取规范积累弦长参数化得 ,相应可确定定义域内节点值u3+i=u%i(i=0,1,L,m),即从u3起的定义域内节点值依次取 起的数据点参数值,这样就可由插值条件给出n +1个控制顶点为未知矢量的 m+1 个线性方程:
将曲线定义域内的节点值依次代入方程(3),应满足插值条件:
共含有m+1=n-1个方程。
将所求的控制顶点Di=(i=0,1, ,m)在超平面w=1上进行投影即得S所求NURBS 曲线的控制顶点di=Di(i=0,1, ,n)/w=1。
2.2NURBS曲面的反求
首先根据给定的型值点qi,j(i=0,1,L,m,j=0,1,L,n)沿n向反求NURBS 曲线控制多边形顶点得到控制点为Di,j(i=0,1,L,m+2,j=0,1,L,n),然后沿v向反求NURBS曲线控制多边形顶点。则由两次反求可以得到控制点网格di,j(i=0,1,L,m,j=0,1,L,n),由di,j定义的NURBS曲面即插值于原始的型值点qi,j(i=0,1,L,m,j=0,1,L,n)。
三、船体曲面造型实例
将di,j(i=0,1,L,m,j=0,1,L,n)、节点点矢量及权因子等作为参数,代入式(2)可以得到所求船体NURBS曲面模型p(u, v) (u, v [0,1])。
对曲面进行三角形划分,当曲面片很小时,各曲面片趋近于平面片,曲面的绘制转化为三角形面片的绘制。对曲面进行三角形填充后,经过浓淡处理即可得到逼真的各种船体模型。
图1(a)为根据上述方法,求得部分船体曲面经过三角形细分后的线框图,图1(b)为对三角形面片经过浓淡处理后生成的部分船体曲面真实感模型。
四、结束语
本文对船体造型中NURBS曲面反求的若干问题进行了深入分析与研究,实现了复杂船体曲面的NURBS造型,结果表明,NURBS方法在形状定义方面比其他方法具有更强大的功能,且具有局部修改方便、光顺性好的优点,为复杂船体曲面的加工奠定了基础。
参考文献
[1]陈绍平,陈宾康.基于NURBS曲线的双艉船型线设计研究[J].中国造船.2001(02)
[2]仵大伟,林焰,纪卓尚.参数化的船体结构特征造型设计[J].计算机工程.2001(06
关键词:船体曲面;NURBS;非均匀
概述:
NURBS是非均匀有理B样条曲线(Non-Uniform Rational B-Splines)的缩写,NURBS由Versprille在其博士学位论文中提出,1991年,国际标准化组织(ISO)颁布的工业产品数据交换标准STEP中,把NURBS作为定义工业产品几何形状的唯一数学方法。1992年,国际标准化组织又将NURBS纳入到规定独立于设备的交互图形编程接口的国际标准PHIGS(程序员层次交互图形系统)中,作为PHIGS Plus的扩充部分。Bezier、有理Bezier、均匀B样条和非均匀B样条都被统一到NURBS中。此理论如今被广泛应用到船舶设计领域中。
一、NURBS曲线与曲面的定义
一条k 次NURBS曲线可以表示为一分段有理多项式函数,其数学定义为:
其中di(i=0,1, ,n)是控制顶点;wi(i=0,1,L,n)称为权或权因子( weights),分别与di(i=0,1, ,n)相联系;Ni,k(u)是k次B样条基函数,由节点矢量U=(u0,u1,u2,L,un+k+1)按德布尔递推公式决定:
这里di,j(i=0,1,L,m;j=0,1,L,n)是控制顶点,呈拓扑矩形阵列,形成一个控制网格;wi,j是与控制顶点di,j相联系的权因子;Ni,k(u)(i=0,1,L,m)和Nj,1(v)(j=0,1, ,n)分别为u向k次和v向1次的规范B样条基,分别由u向节点矢量U=[u0,u1, ,um+k+1]与v向节点矢量v=[v0,v1, ,vn+1+1]决定。
在大多数工程应用中,k 、l 取为3,可满足产品定义的要求。
二、NURBS曲面的反求
2.1NURBS曲线的反求
2.1.1基本原理
由三次NURBS曲线的齐次坐标表达式:
其中:Di(i=0,1, ,n)为NURBS曲线的带权控制顶点,即Di=[widi wi];H{}表示中心投影变换,投影中心取为齐次坐标系的原点,即
可知: 一条二维空间中三次NURBS曲线可以看成是三维空间的非有理三次B 样条曲线 在超平面w=1上的投影,因此,若一条三维空间的 k 次非有理B样条曲线依次通过点Qj(j=0,1, ,m),则改曲线在超平面w=1上的投影必通过qj(j=0,1, ,m),其中qj是Qj超平面w=1上的投影。也就是说,三维空间中由控制定点Di= [widi wi]=[wixi wiyi wi](i=0,1, ,m)决定的非有理B样条曲线在超平面w=1上的投影,正好就是二维平面上以di=[xi yi](i=0,1,L,n)为控制定点、以wi(i=0,1, ,m)为权值决定的NURBS曲线。
2.1.2NURBS曲线的反求
为了使一条三次B样条曲线通过一组数据点Qj=[wjqj wj],反求过程一般地使曲线的首末端点分别与首末数据点一致,使曲线的分段连接点分别依次与B样条曲线定义域内的节点一一对应,即Qi点有节点值u3+j(i=0,1, ,m)。该B样条插值曲线将有n个控制顶点Di(i=0,1,L,n)与节点矢量U=[u0,u1,L,un+3+1]来定义,其中,n=m+3-1,即控制点数目要比数据点数目多出3-1=2个,共有m +3个未知顶点。由端点插值要求,应取3+1=4重节点端点的固支条件。取规范定义域 ,于, 是有u0=u1= =u3=0,un+1=un+2= =un+3+1=1。对数据点取规范积累弦长参数化得 ,相应可确定定义域内节点值u3+i=u%i(i=0,1,L,m),即从u3起的定义域内节点值依次取 起的数据点参数值,这样就可由插值条件给出n +1个控制顶点为未知矢量的 m+1 个线性方程:
将曲线定义域内的节点值依次代入方程(3),应满足插值条件:
共含有m+1=n-1个方程。
将所求的控制顶点Di=(i=0,1, ,m)在超平面w=1上进行投影即得S所求NURBS 曲线的控制顶点di=Di(i=0,1, ,n)/w=1。
2.2NURBS曲面的反求
首先根据给定的型值点qi,j(i=0,1,L,m,j=0,1,L,n)沿n向反求NURBS 曲线控制多边形顶点得到控制点为Di,j(i=0,1,L,m+2,j=0,1,L,n),然后沿v向反求NURBS曲线控制多边形顶点。则由两次反求可以得到控制点网格di,j(i=0,1,L,m,j=0,1,L,n),由di,j定义的NURBS曲面即插值于原始的型值点qi,j(i=0,1,L,m,j=0,1,L,n)。
三、船体曲面造型实例
将di,j(i=0,1,L,m,j=0,1,L,n)、节点点矢量及权因子等作为参数,代入式(2)可以得到所求船体NURBS曲面模型p(u, v) (u, v [0,1])。
对曲面进行三角形划分,当曲面片很小时,各曲面片趋近于平面片,曲面的绘制转化为三角形面片的绘制。对曲面进行三角形填充后,经过浓淡处理即可得到逼真的各种船体模型。
图1(a)为根据上述方法,求得部分船体曲面经过三角形细分后的线框图,图1(b)为对三角形面片经过浓淡处理后生成的部分船体曲面真实感模型。
四、结束语
本文对船体造型中NURBS曲面反求的若干问题进行了深入分析与研究,实现了复杂船体曲面的NURBS造型,结果表明,NURBS方法在形状定义方面比其他方法具有更强大的功能,且具有局部修改方便、光顺性好的优点,为复杂船体曲面的加工奠定了基础。
参考文献
[1]陈绍平,陈宾康.基于NURBS曲线的双艉船型线设计研究[J].中国造船.2001(02)
[2]仵大伟,林焰,纪卓尚.参数化的船体结构特征造型设计[J].计算机工程.2001(06