【摘要】 一种光顺优化的NURBS空间曲线曲率连续拼接的CAD方法,属于空间参数曲线几何造型的CAD领域,其特征在于,初始化阶段输入不连续的两条NURBS曲线C和对其中的曲线C通过实行三次延伸操作的方式,使得C与曲线C实现G0连续。再调整C曲线延伸部分的控制顶点和相应权重,通过一维黄金分割最小化二阶光顺能量,实现两条曲线的G2连续并且具有最小的光顺能量值。该方法在不改变曲线原有部分的情况下,填补了两条NURBS曲线间的缝隙,并且保证了曲线延伸部分的光顺性最优。。 【专利类型】发明授权 【申请人】清华大学 【申请人类型】学校 【申请人地址】100084 北京市海淀区清华园北京100084-82信箱 【申请人地区】中国 【申请人城市】北京市 【申请人区县】海淀区 【申请号】CN200810247339.6 【申请日】2008-12-30 【申请年份】2008 【公开公告号】CN101482979B 【公开公告日】2010-09-29 【公开公告年份】2010 【授权公告号】CN101482979B 【授权公告日】2010-09-29 【授权公告年份】2010.0 【IPC分类号】G06T17/30; G06T17/40 【发明人】刘永进; 仇荣琦 【主权项内容】1.一种光顺优化的NURBS空间曲线曲率连续拼接的CAD方法,其特征在于,所述方法是在计算机上依次按照如下步骤实现的: S1:输入不连续的两条NURBS空间曲线C(u)和 对于曲线C(u)其形式为: 其中u是曲线C(u)的参数,n是曲线C(u)所含的控制顶点个数,Pi是曲线C(u)中序号为i的控制顶点的坐标值,由用户输入,i=0,1,...,n-1,采用三维直角坐标表示,wi是曲线C(u)中序号为i的控制顶点的权重,由用户输入,i=0,1,...,n-1,Ni,U是定义在节点向量序列U之上的序号为i的B样条基函数,i=0,1,...,n-1,U是曲线C(u)的节点向量序列: U={u0,u1,...,un+p} 其中p是曲线C(u)的幂,由用户输入,u0,u1,...,un+p等为节点向量序列中的节点,其中u0=u1=…=up=0,un=un+1=…=un+p=1,up+1,up+2,...,un-1由用户输入,上述的B样条基函数采用Matlab系统样条工具库中B样条基函数的定义方式;对于曲线 其形式为: 其中 是曲线 的参数, 是曲线 所含的控制顶点个数, 是曲线 中序号为i的控制顶点的坐标值,由用户输入, 采用三维直角坐标表示, 是曲线 中序号为i的控制顶点的权重,由用户输入, 是定义在节点向量序列 之上的序号为i的B样条基函数, 是曲线 的节点向量序列: 其中 是曲线 的幂,由用户输入, 等为节点向量序列中的节点,其中 由用户输入,上述的B样条基函数采用Matlab系统样条工具库中B样条基函数的定义方式; S2:对曲线C(u)进行向曲线 方向的延伸,其步骤如下: S21:计算齐次空间中曲线C(u)的B样条表示形式Cw(u),计算方法如下: 其中Piw是齐次空间中点Pi的表示形式,i=0,1,...,n-1,采用四维直角坐标表示,其计算方法如下: Piw=(wiPi,wi) 计算齐次空间中曲线 的B样条表示形式 计算方法如下: 其中 是齐次空间中点 的表示形式, 采用四维直角坐标表示,其计 算方法如下: S22:在曲线Cw(u)和曲线 之间设定三个齐次空间点q1,q2和q3,分别作为三次曲线延伸的目标点,其中点q1和q2由用户输入,q3设定为曲线 的第一个控制顶点,即 S23:把曲线Cw(u)延伸到所述的点q1,并且设延伸后的曲线为 其表示形式为: 其中n1是曲线 中所含的控制顶点个数,且有n1=n+1, 是曲线 中序号为i的控制顶点的函数值,按照步骤S24所述的方法计算,i=0,1,...,n1-1, 是定义在节点向量序列U1之上的序号为i的B样条基函数,i=0,1,...,n1-1,U1是曲线 的归一化形式的节点向量序列: 其中 ||·||表示齐次空间的欧氏距离, S24:按下述步骤计算曲线 中序号为i的控制顶点的值 i=0,1,...,n1-1, S241:设置初值 j=n1-p,...,n1+p S242:递推计算齐次空间点 其中 S243:计算 的最终结果 S25:按照步骤S23、S24所述的方法将所述曲线 延伸到点q2,并且设延伸后的曲线为 S26:再按照步骤S23、S24所述的方法将所述曲线 延伸到点q3,并且设延伸后的曲线为 其表示形式为: 其中n3是曲线 所含的控制顶点个数且有n3=n+3, 是定义在节点向量序列U3之上的序号为i的B样条基函数,i=0,1,...,n3-1,U3是曲线 的归一化形式的节 点向量序列: 其中v0=v1=…=vp=0, S27:计算齐次空间曲线 在三维空间中的表示形式C3(u): 其中w3,i为 的最后一维的数值,i=0,1,...,n3-1,设P′3,i为 去掉最后一维后的向量,则 i=0,1,...,n3-1; S3:修改曲线C3(u)的两个控制顶点P3,n和P3,n+1及其相应权重w3,n和w3,n+1,使得修改后的曲线C3(u)与曲线 在其交接处即u=1和 处实现G2连续,P3,n和P3,n+1以及w3,n和w3,n+1的计算方法如下: 其中β是由步骤S4确定的正实数值,λ, xn,xn+1,xn+2, 为常数,定义如下: xn+1=xn+xn+2 S4:确定β的取值使得延伸曲线二阶光顺能量值最小,所述的二阶光顺能量值定义为: E=∫||C″3(u)||2du 其中C″3(u)表示C3(u)的二阶导数;由步骤S3知,C3(u)的分子分母的各项中只有 和 为β的多项式函数,其余各项均与β无关,故C3(u)具有如下形式: 其中c1(u),c2(u),c3(u)为已知的关于u的分段多项式函数,v1(u),v2(u),v3(u)为已知的关于u的分段多项式向量值函数,对C3(u)关于u求一阶导数得: 其中c4(u),c5(u),...,c8(u)为已知的关于u的分段多项式函数,v4(u),v5(u),...,v10(u)为已知的关于u的分段多项式向量值函数,再对C′3(u)关于u求一阶导数得: 其中c9(u),c10(u),...,c17(u)为已知的关于u的分段多项式函数,v11(u),v12(u),...,v21(u)为已知的关于u的分段多项式向量值函数,因而||C″3(u)||2的表达式为: 其中c18(u),c19(u),...,c55(u)为已知的关于u的分段多项式函数,||C″3(u)||2为分段分式有理函数,因此对||C″3(u)||2的积分得到显式表达式,最后用一维黄金分割法求出最小能量值对应的β。 【当前权利人】清华大学 【当前专利权人地址】北京市海淀区清华园北京100084-82信箱 【专利权人类型】公立 【统一社会信用代码】12100000400000624D 【引证次数】3.0 【他引次数】3.0 【家族引证次数】3.0 【家族被引证次数】22