CN103136431B - 一种自由曲面的保面积参数特性优化方法 - Google Patents

一种自由曲面的保面积参数特性优化方法 Download PDF

Info

Publication number
CN103136431B
CN103136431B CN201310099801.3A CN201310099801A CN103136431B CN 103136431 B CN103136431 B CN 103136431B CN 201310099801 A CN201310099801 A CN 201310099801A CN 103136431 B CN103136431 B CN 103136431B
Authority
CN
China
Prior art keywords
curved surface
free form
form surface
sigma
beta
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310099801.3A
Other languages
English (en)
Other versions
CN103136431A (zh
Inventor
杨义军
李效伟
孟祥旭
杨承磊
曾薇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong University
Original Assignee
Shandong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong University filed Critical Shandong University
Priority to CN201310099801.3A priority Critical patent/CN103136431B/zh
Publication of CN103136431A publication Critical patent/CN103136431A/zh
Application granted granted Critical
Publication of CN103136431B publication Critical patent/CN103136431B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

本发明公开了一种自由曲面的保面积参数特性优化方法,具体步骤为:步骤一:输入空间自由曲面;步骤二:根据自由曲面类型的不同,分别计算空间自由曲面优化方程的系数;步骤三:通过计算两条平面参数曲线的交点获取自由曲面最优变换;步骤四:对空间自由曲面进行变换。在实际应用中,本发明的方法简单有效,在不改变用户给定的自由曲面形状和次数的前提下,通过对自由曲面进行线性重新参数化,只改变自由曲面的控制顶点、权因子以及节点向量,实现了对自由曲面的保面积特性的优化,并且保证了最优保面积曲面的唯一性。

Description

一种自由曲面的保面积参数特性优化方法
技术领域
本发明涉及一种自由曲面的保面积参数特性优化方法。
背景技术
国际标准化组织(ISO)于1991年正式确定把NURBS方法作为定义产品形状的唯一数学方法,越来越多的CAD/CAM系统采用NURBS作为其模型,NURBS在工业产品的外形设计中获得广泛的应用。基于NURBS曲面的几何算法大多是参数相关的,算法的结果和自由曲面当前的参数特性息息相关。
现有关于保面积参数特性的研究都针对离散三角面片模型,到目前为止还没有其他方法对NURBS曲面保面积参数特性进行优化。计算机辅助设计中(CAD),机械以及人体的模型都是基于自由曲面表示的,基于NURBS曲面的分析和可视化算法都是参数相关的,曲面的保面积特性直接影响自由曲面的分析和可视化的结果,特别是对于人脑、关节以及具备丰富凹凸特征的机械曲面。设计人员通常先对自由曲面的保面积特性进行优化,以满足后续分析和可视化算法的要求。因此基于NURBS曲面保面积参数特性优化方法具有很强的实用价值。
发明内容
本发明的目的就是为了解决上述问题,提供一种自由曲面的保面积参数特性优化方法,它具有算法简单有效、不破坏曲面形状、保持曲面次数和节点向量的优点。
为了实现上述目的,本发明采用如下技术方案:
一种自由曲面的保面积参数特性优化方法,具体步骤为:
步骤一:输入空间自由曲面;
步骤二:根据自由曲面类型的不同,分别计算空间自由曲面优化方程的系数;
步骤三:通过计算两条平面参数曲线的交点获取自由曲面最优变换;
步骤四:对空间自由曲面进行变换。
所述步骤一中空间自由曲面的表达式为:
S ( u , v ) = Σ i = 0 n u - 1 Σ j = 0 n v - 1 N i p ( u ) N j q ( v ) ω i , j P i , j Σ i = 0 n u - 1 Σ j = 0 n v - 1 N i p ( u ) N j q ( v ) ω i , j , u , v ∈ [ 0,1 ]
其中,u和v是曲面S(u,v)的参数,nu和nv是曲面S(u,v)所含的控制顶点在u方向和v方向上的个数,Pi,j是曲面S(u,v)中序号为(i,j)的控制顶点的坐标值,ωi,j是曲面S(u,v)中序号为(i,j)的控制顶点的权重,是定义在节点向量序列U之上的序号为i的p阶B-spline基函数;是定义在节点向量序列V之上的序号为j的q阶B-spline基函数,i=0,1,…,nu-1;j=0,1,…,nv-1,i和j均为大于等于0的整数,
其中p,q是曲面S(u,v)在u方向和v方向上的次数,u0,u1,…,un+p为节点向量序列U中的节点,其中u0=u1=…=up=0,un=un+1=…=un+p=1,0<up+1,un+2,…,un-1<1;v0,v1,…,vn+q为节点向量序列V中的节点,其中v0=v1=…=vq=0,vn=vn+1=…=vn+q=1,0<vq+1,vq+2,…,vn-1<1,所述的B-spline基函数采用Matlab系统样条工具库中B-spline基函数的定义方式。
所述步骤二的具体步骤为:
如果输入曲面是Bézier曲面,确定Bézier曲面的表示形式;
确定Bézier曲面在向量序列u/v方向上的偏微分,并确定Bézier曲面的微分第一基本形式;
根据Bézier曲面的微分第一基本形式确定优化方程的系数Ci,j
如果输入曲面是B-spline曲面,通过节点插入法把B-spline曲面细分成n个Bézier曲面,用表示第r个Bézier曲面的局部参数域,确定第r个子曲面的优化方程系数;利用所有子曲面的优化方程系数确定B-spline曲面优化方程系数ci,j
如果输入曲面是NURBS曲面,取样2m个点在u区间内单调,2n个点在v区间内单调,
0 = u 0 < u 1 < u 2 < . . . < u 2 m = 1 0 = v 0 < v 1 < v 2 < . . . < v 2 n = 1
其中,u0,u1,…,u2m为u方向采样点,v1,…,v2n为v方向采样点;使得
I &ap; T = h 1 g 1 4 &Sigma; i 1 = 0 2 m &Sigma; j 1 = 0 2 n A i 1 A j 1 | | X u ( u i 1 , v j 1 ) &times; X v ( u i 1 , v j 1 ) | | 2 B i 2 ( u i 1 ) B j 2 ( v j 1 ) - - - ( 1 )
满足:
h 1 = 1 2 m g 1 = 1 2 n , A i 1 = 1 i 1 = 0,2 m 2 i 1 = 1,2 , . . . 2 m - 1 u i 1 = i 1 h 1 v j 1 = j 1 g 1
A j 1 = 1 j 1 = 0,2 n 2 j 1 = 1,2 , . . . 2 n - 1
使用双重积分的算法计算Ci,j
(2-1)设置式(1)中u,v两个方向采样密度m,n的值m0=n0=10;
(2-2)确定式(1)中数值积分T的值T0=T,其中T表示数值双重积分;
(2-3)令mr=2mr-1,nr=2nr-1,其中mr,nr分别为u/v方向的采样密度;
(2-4)确定T的新近似值Tr;
(2-5)如果|Tr-Tr-1|<∈,结束;其中∈是整个计算过程的终止条件;否则迭代次数r=r+1,回到步骤(2-3)。
所述步骤三的具体步骤为:
(3-1)确定当前曲面参数化与保面积参数化的偏差;
(3-2)利用公式等价法确定当前曲面参数化与保面积参数化偏差的最小值;
(3-3)通过计算两条平面曲线的交点确定最优参数变换的系数。
所述步骤四的具体步骤为:
(4-1)对节点向量参数u,v分别进行变换:
设s,t是对u,v变换后的参数;分别把参数s,t映射到单位区间上,使之满足:s和t为0时,u和v也为0;s和t为1时,u和v也为1;s和t为0.5时,u和v分别为1-α和1-β,由变换方程,确定参数s和t的表达式,α和β表示变换的两个自由参数;
(4-2)把s和t的表达式代入自由空间曲面的方程形式,确定重新参数化曲面X(s,t),确定重新参数化曲面新的节点向量
本发明的有益效果:在实际应用中,本发明的方法简单可行,不破坏曲面形状,在不改变用户给定的自由曲面形状和次数的前提下,通过对自由曲面进行线性重新参数化,只改变自由曲面的控制顶点、权因子以及节点向量,实现了对自由曲面的保面积特性的优化,并且保证了最优保面积曲面的唯一性。
附图说明
图1是整个方法的步骤流程图;
图2为输入的一个人体关节NURBS曲面S(u,v);
图3为对NURBS曲面S(u,v)进行保面积参数优化的最优结果。
具体实施方式
下面结合附图与实施案例对本发明作进一步说明。
一种自由曲面的保面积参数特性优化方法,具体步骤为:
步骤一:输入空间自由曲面;
步骤二:根据自由曲面类型的不同,分别计算空间自由曲面优化方程的系数;
步骤三:通过计算两条平面参数曲线的交点获取自由曲面最优变换;
步骤四:对空间自由曲面进行变换。
所述步骤一中空间自由曲面的表达式为:
S ( u , v ) = &Sigma; i = 0 n u - 1 &Sigma; j = 0 n v - 1 N i p ( u ) N j q ( v ) &omega; i , j P i , j &Sigma; i = 0 n u - 1 &Sigma; j = 0 n v - 1 N i p ( u ) N j q ( v ) &omega; i , j , u , v &Element; [ 0,1 ]
其中,其中u和v是曲面S(u,v)的参数,nu和nv是曲面S(u,v)所含的控制顶点在u方向和v方向上的个数,Pi,j是曲面S(u,v)中序号为(i,j)的控制顶点的坐标值,ωi,j是曲面S(u,v)中序号为(i,j)的控制顶点的权重,是定义在节点向量序列U之上的序号为i的p阶B-spline基函数;是定义在节点向量序列V之上的序号为j的q阶B-spline基函数,i=0,1,…,nu-1;j=0,1,…,nv-1,i和j均为大于等于0的整数,
其中p,q是曲面S(u,v)在u方向和v方向上的次数,u0,u1,…,un+p为节点向量序列U中的节点,其中u0=u1=…=up=0,un=un+1=…=un+p=1,0<up+1,un+2,…,un-1<1;v0,v1,…,vn+q为节点向量序列V中的节点,其中v0=v1=…=vq=0,vn=vn+1=…=vn+q=1,0<vq+1,vq+2,…,vn-1<1,所述的B-spline基函数采用Matlab系统样条工具库中B-spline基函数的定义方式。
所述步骤二的具体步骤为:
(2-1)如果输入曲面是Bézier曲面,给定Bézier曲面的表示形式X(u,v):
X ( u , v ) = &Sigma; i = 0 m &Sigma; j = 0 n B i m ( u ) B j n ( v ) P i , j , u , v &Element; [ 0,1 ]
其中,Pi,j是控制顶点,是关于参数u和v的Bernstein基函数,m和n分别是曲面的u方向和v方向的次数,实际工程应用中,m和n一般取值为3。
确定X(u,v)在u/v方向上的偏微分Xu(u,v)和Xv(u。v),
X u ( u , v ) = m &Sigma; i = 0 m - 1 &Sigma; j = 0 n B i m - 1 ( u ) B j n ( v ) Q i , j , u , v &Element; [ 0,1 ]
X v ( u , v ) = n &Sigma; i = 0 m &Sigma; j = 0 n - 1 B i m ( u ) B j n - 1 ( v ) R i , j , u , v &Element; [ 0,1 ]
确定Qi,j和Ri,j
Q i , j = P i + 1 , j - P i , j R i , j = P i , j + 1 - P i , j
其中Pi+1,j,Pi,j+1,Pi,j是Bézier曲面控制顶点。
确定自由曲面X(u,v)的微分第一基本形式E,G,F:
E = X u &CenterDot; X u
= m ! m ! n ! n ! ( 2 m - 2 ) ! ( 2 n ) ! &Sigma; i = 0 m - 1 &Sigma; j = 0 n &Sigma; k = 0 m - 1 &Sigma; l = 0 n ( 2 m - 2 - i - k ) ! ( i + k ) ! ( 2 n - j - l ) ! ( j + l ) ! ( m - 1 - i ) ! i ! ( m - 1 - k ) ! k ! ( n - j ) ! j ! ( n - l ) ! l ! B i + k 2 m - 2 ( u ) B j + l 2 n ( v ) Q i , j &CenterDot; Q k , l
其中i,j,k,l,是循环变量,分别是u和v方向上的Bernstein基函数,Qk,l的计算方法是
Qk,l=Pk+1,l-Pk,l
G = X v &CenterDot; X v = m ! m ! n ! n ! ( 2 n - 2 ) ! ( 2 m ) ! &Sigma; i = 0 m &Sigma; j = 0 n - 1 &Sigma; k = 0 m &Sigma; l = 0 n - 1 ( 2 m - i - k ) ! ( i + k ) ! ( 2 n - 2 - j - l ) ! ( j + l ) ! ( n - 1 - j ) ! j ! ( n - 1 - l ) ! l ! ( m - i ) ! i ! ( m - k ) ! k ! B i + k 2 m ( u ) B j + l 2 n - 2 ( v ) R i , j
&CenterDot; R k , l
Rk,l的计算方法是
Rk,l=Pk,l+1-Pk,l
F = X u &CenterDot; X v
= m ! m ! n ! n ! ( 2 m - 1 ) ! ( 2 n - 1 ) ! &Sigma; i = 0 m - 1 &Sigma; j = 0 n &Sigma; k = 0 m &Sigma; l = 0 n - 1 ( 2 m - 1 - i - k ) ! ( i + k ) ! ( 2 n - 1 - j - l ) ! ( j + l ) ! ( m - 1 - i ) ! i ! ( m - k ) ! k ! ( n - j ) ! j ! ( n - 1 - l ) ! l ! B i + k 2 m - 1 ( u ) B j + l 2 n - 1 ( v ) Q i , j
&CenterDot; R k , l
最后得到优化方程的系数Ci,j:
c i , j = &Integral; 0 1 &Integral; 0 1 | | X u &times; X v | | 2 B i 2 ( u ) B j 2 ( v ) dudv
= &Integral; 0 1 &Integral; 0 1 ( FG - F 2 ) B i 2 ( u ) B j 2 ( v ) dudv
= 2 i 2 j m ! m ! n ! n ! m ! m ! n ! n ! ( 4 m + 1 ) ( 4 n + 1 ) &Sigma; i 1 = 0 m - 1 &Sigma; j 1 = 0 n &Sigma; k 1 = 0 m - 1 &Sigma; l 1 = 0 n &Sigma; i 2 = 0 m &Sigma; j 2 = 0 n - 1 &Sigma; k 2 = 0 m &Sigma; l 2 = 0 n - 1 ( 4 m - i 1 - i 2 - k 1 - k 2 - i ) ! ( i 1 + i 2 + k 1 + k 2 + i ) ! ( m - 1 - i 1 ) ! i 1 ! ( m - 1 - k 1 ) ! k 1 ! ( n - j 1 ) ! j 1 ! ( n - l 1 ) ! l 1 !
( 4 n - j 1 - j 2 - l 1 - l 2 - j ) ! ( j 1 + j 2 + l 1 + l 2 + j ) ! ( n - 1 - j 2 ) ! j 2 ! ( n - 1 - l 1 ) ! l 1 ! ( m - i 2 ) ! l 2 ! ( m - k 2 ) ! k 2 ! ( Q i 1 , j 1 &CenterDot; Q k 1 , l 1 ) ( R i 2 , j 2 &CenterDot; R k 2 , l 2 )
- 2 i 2 j m ! m ! n ! n ! m ! m ! n ! n ! ( 4 m + 1 ) ( 4 n + 1 ) &Sigma; i 1 = 0 m - 1 &Sigma; j 1 = 0 n &Sigma; k 1 = 0 m - 1 &Sigma; l 1 = 0 n &Sigma; i 2 = 0 m &Sigma; j 2 = 0 n - 1 &Sigma; k 2 = 0 m &Sigma; l 2 = 0 n - 1 ( 4 m - i 1 - i 2 - k 1 - k 2 - i ) ! ( i 1 + i 2 + k 1 + k 2 + i ) ! ( m - 1 - i 1 ) ! i 1 ! ( m - k 1 ) ! k 1 ! ( n - j 1 ) ! j 1 ! ( n - 1 - l 1 ) ! l 1 !
( 4 n - j 1 - j 2 - l 1 - l 2 - j ) ! ( j 1 + j 2 + l 1 + l 2 + j ) ! ( m - 1 - i 2 ) ! i 2 ! ( m - k 2 ) ! k 2 ! ( n - j 2 ) ! j 2 ! ( n - 1 - l 2 ) ! l 2 ! ( Q i 1 , j 1 &CenterDot; R k 1 , l 1 ) ( Q i 2 , j 2 &CenterDot; R k 2 , l 2 )
= 2 i 2 j m ! m ! n ! n ! m ! m ! n ! n ! ( 4 m + 1 ) ( 4 n + 1 ) &Sigma; i 1 = 0 m - 1 &Sigma; i 2 = 0 m - 1 &Sigma; j 1 = 0 n - 1 &Sigma; j 2 = 0 n - 1 &Sigma; k 1 = 0 m &Sigma; k 2 = 0 m &Sigma; l 1 = 0 n &Sigma; l 2 = 0 n ( 4 m - i 1 - i 2 - k 1 - k 2 - i ) ! ( i 1 + i 2 + k 1 + k 2 + i ) ! ( m - 1 - i 1 ) ! i 1 ! ( m - 1 - i 2 ) ! i 2 ! ( n - l 2 ) ! l 2 ! ( n - l 1 ) ! l 1 !
( 4 n - j 1 - j 2 - l 1 - l 2 - j ) ! ( j 1 + j 2 + l 1 + l 2 + j ) ! ( n - 1 - j 2 ) ! j 2 ! ( n - 1 - j 1 ) ! j 1 ! ( m - k 1 ) ! k 1 ! ( m - k 2 ) ! k 2 ! [ ( Q i 1 , l 1 &CenterDot; Q i 2 , l 2 ) ( R k 1 , j 1 &CenterDot; R k 2 , j 2 ) - ( Q i 1 , l 1
&CenterDot; R k 1 , j 1 ) ( Q i 2 , l 2 &CenterDot; R k 2 , j 2 ) ]
其中,i1,i2,k1,k2,j1,j2,l1,l2是循环变量,分别是关于u和v的Bernstein基函数, 计算方法是
Q i , j = P i + 1 , j - P i , j R i , j = P i , j + 1 - P i , j
(2-2)如果输入曲面是B-spline曲面,通过节点插入法把B-spline曲面细分成n个Bézier曲面,用表示第r个Bézier曲面的局部参数域,确定第r个子曲面的优化方程系数Cr,i,j
其中,表示s对u的偏导数,表示t对v的偏导数,分别表示子曲面参数u的区间取值, 分别表示子曲面参数v的区间取值,和τ分别表示u和v的线性变换参数,参数u和v为:
计算B-spline曲面优化方程系数ci,j
c i , j = &Sigma; r = 1 n c r , i , j
其中,n表示划分成Bézier曲面的个数。
(2-3)如果输入曲面是NURBS曲面,取样2m个点在u区间内单调,2n个点在v区间内单调,
0 = u 0 < u 1 < u 2 < . . . < u 2 m = 1 0 = v 0 < v 1 < v 2 < . . . < v 2 n = 1
其中,u0,u1,…,u2m为节点向量序列U中的节点,v1,...,v2n为节点向量序列V中的节点;使得
I &ap; T = h 1 g 1 4 &Sigma; i 1 = 0 2 m &Sigma; j 1 = 0 2 n A i 1 A j 1 | | X u ( u i 1 , v j 1 ) &times; X v ( u i 1 , v j 1 ) | | 2 B i 2 ( u i 1 ) B j 2 ( v j 1 ) - - - ( 1 )
其中: h 1 = 1 2 m g 1 = 1 2 n u i 1 = i 1 h 1 v j 1 = j 1 g 1 , A i 1 = 1 i 1 = 0,2 m 2 i 1 = 1,2 , . . . 2 m - 1 ,
A j 1 = 1 j 1 = 0,2 n 2 j 1 = 1,2 , . . . 2 n - 1 ,
(2-4)使用双重积分的算法计算Ci,j
具体步骤为:
(2-4-1)设置式(1)中u,v两个方向采样密度m,n的值m0=n0=10;
(2-4-2)计算式(1)中数值积分T的值T0=T,其中T表示数值双重积分;
(2-4-3)令mr=2mr-1,nr=2nr-1,其中mr,nr分别为u/v方向的采样密度;
(2-4-4)计算T的新近似值Tr;
(2-4-5)如果|Tr-Tr-1|<∈,结束,其中∈是整个计算过程的终止条件;否则迭代次数r=r+1,回到步骤(2-4-3)。
所述步骤三的具体步骤为:
(3-1)确定当前曲面参数化X(S,t)与保面积参数化的偏差:
&Integral; 0 1 &Integral; 0 1 ( | | X s &times; X t | | - A ) 2 dsdt - - - ( 2 )
其中,Xs表示X(s,t)在s方向上的偏导数,Xt表示X(s,t)在t方向上的偏导数,A表示给定曲面的面积,||·||表示三维空间的向量长度;
(3-2)为计算公式(2)的最小值,将公式等价为:
J ( &alpha; , &beta; ) = &Integral; 0 1 &Integral; 0 1 | | X s &times; X t | | 2 dsdt
(3-3)根据链式法则确定J(α,β),
J ( &alpha; , &beta; ) = &Integral; 0 1 &Integral; 0 1 | | X s &times; X t | | 2 dsdt
= &Integral; 0 1 &Integral; 0 1 | | X u &times; X v | | 2 &CenterDot; ( &PartialD; u &PartialD; s ) 2 &CenterDot; ( &PartialD; v &PartialD; t ) 2 dsdt
= &Integral; 0 1 &Integral; 0 1 | | X u &times; X v | | 2 &CenterDot; &PartialD; u &PartialD; s &CenterDot; &PartialD; v &PartialD; t dudv
= &Integral; 0 1 &Integral; 0 1 | | X u &times; X v | | 2
&CenterDot; ( 1 - &alpha; + 2 u&alpha; - u ) 2 &alpha; ( 1 - &alpha; ) &CenterDot; ( 1 - &beta; + 2 v&beta; - v ) 2 &beta; ( 1 - &beta; ) dudv
= &Sigma; i = 0 2 &Sigma; j = 0 2 c i , j B i 2 ( &alpha; ) B j 2 ( &beta; ) 2 i 2 j &alpha; ( 1 - &alpha; ) &beta; ( 1 - &beta; )
其中,Xu和Xv表示X(u,v)在u/v方向上的偏微分Xu(u,v)和Xv(u,v),ci,j是步骤二中计算得到的优化方程的系数,其中,J(α,β)的解满足:
0 = &PartialD; J ( &alpha; , &beta; ) &PartialD; &alpha; , 0 = &PartialD; J ( &alpha; , &beta; ) &PartialD; &beta; - - - ( 3 )
(3-4)确定J(α,β)的等价条件:
0 = &PartialD; J ( &alpha; , &beta; ) &PartialD; &alpha;
= B 2 2 ( &alpha; ) ( c 2,0 B 0 2 ( &beta; ) + c 2,1 B 1 2 ( &beta; ) 2 + c 2,2 B 2 2 ( &beta; ) ) - B 0 2 ( &alpha; ) ( c 0,0 B 0 2 ( &beta; ) + c 0,1 B 1 2 ( &beta; ) 2 + c 0,2 B 2 2 ( &beta; ) ) &alpha; 2 ( 1 - &alpha; ) 2 &beta; ( 1 - &beta; ) - - - ( 4 ) ;
(3-5)确定公式(4)等价条件:
B 2 2 ( &alpha; ) B 0 2 ( &alpha; ) = c 0,0 B 0 2 ( &beta; ) + c 0,1 B 1 2 ( &beta; ) 2 + c 0,2 B 2 2 ( &beta; ) c 2,0 B 0 2 ( &beta; ) + c 2,1 B 1 2 ( &beta; ) 2 + c 2,2 B 2 2 ( &beta; ) ;
(3-5)计算出J(α,β)对β偏微分为0的等价条件:
B 2 2 ( &beta; ) B 0 2 ( &beta; ) = c 0,0 B 0 2 ( &alpha; ) + c 1,0 B 1 2 ( &alpha; ) 2 + c 2,0 B 2 2 ( &alpha; ) c 0,2 B 0 2 ( &alpha; ) + c 1,2 B 1 2 ( &alpha; ) 2 + c 2,2 B 2 2 ( &alpha; )
对两个偏导公式(3)表示的两条平面代数曲线进行求交,确定交点坐标即为最后所求的最优线性变换的系数α和β。
所述步骤四的具体步骤为:
(4-1)对参数u,v分别进行变换:
u = f 1 ( s ) = ( &alpha; - 1 ) s 2 &alpha;s - s - &alpha; , &alpha; &Element; ( 0,1 )
v = f 2 ( t ) = ( &beta; - 1 ) t 2 &beta;t - t - &beta; , &beta; &Element; ( 0,1 )
其中,s,t是对u,v变换后的参数;分别把参数s,t映射到单位区间上,使之满足:
f1(0)=0,,f1(1)=1,f1(0.5)=1-α
f2(0)=0,f2(1)=1,f2(0.5)=1-β
变换方程,确定参数s和t:
s = f 3 ( u ) = &alpha;u 1 - &alpha; + 2 &alpha;u - u
t = f 4 ( v ) = &beta;v 1 - &beta; + 2 &beta;v - v ;
其中,α和β表示变换的两个自由参数。
(4-2)把s和t的表达式代入NURBS曲面的方程形式,确定重新参数化曲面X(s,t):
X ( s , t ) = &Sigma; i = 0 n u - 1 &Sigma; j = 0 n v - 1 N i p ( s ) N j q ( t ) &omega; ~ i , j P i , j &Sigma; i = 0 n u - 1 &Sigma; j = 0 n v - 1 N i p ( s ) N j q ( t ) &omega; ~ i , j , s , t &Element; [ 0,1 ]
其中,是曲面X(s,t)中序号为(i,j)的控制顶点新的权重,
&omega; ~ i , j = &omega; i , j &Pi; k = 1 m ( 1 - &alpha; + 2 &alpha;u i + k - u i + k ) &Pi; l = 1 n ( 1 - &beta; + 2 &beta; u j + l - u j + l ) ,
确定新的节点向量
本发明的方法以Windows7中的Visual Studio2008为开发平台,其具体实施方式如下:
图1是输入的一个原始NURBS曲面S,对于曲面S(u,v)其形式为:
S ( u , v ) = &Sigma; i = 0 n u - 1 &Sigma; j = 0 n v - 1 N i p ( u ) N j q ( v ) &omega; i , j P i , j &Sigma; i = 0 n u - 1 &Sigma; j = 0 n v - 1 N i p ( u ) N j q ( v ) &omega; i , j , u , v &Element; [ 0,1 ]
其中u和v是曲面S(u,v)的参数,nu和nv,是曲面S(u,v)所含的控制顶点在u方向和v方向上的个数,Pi,j是曲面S(u,v)中序号为(i,j)的控制顶点的坐标值,由用户输入,i=0,1,…,nu-1;j=0,1,…,nv-1,采用三维直角坐标表示,ωi,j是曲面S(u,v)中序号为(i,j)的控制顶点的权重,由用户输入,i=0,1,…,nu-1;j=0,1,…,nv-1,是定义在节点向量序列U之上的序号为i的p阶B-spline基函数,i=0,1,…,nu-1;是定义在节点向量序列V之上的序号为j的q阶B-spline基函数,j=0,1,…,nv-1,
其中p,q是曲面S(u,v)在u方向和v方向上的次数,由用户输入,u0,u1,…,un+p等为节点向量序列U中的节点,其中u0=u1=…=up=0,un=un+1=…=un+p=1,up+1,un+2,…,un-1由用户输入;v0,v1,...,vn+q等为节点向量序列V中的节点,其中v0=v1=…=vq=0,vn=vn+1=…=vn+q=1,vq+1,vq+2,…,vn-1由用户输入,上述的B-spline基函数采用Matlab系统样条工具库中B-spline基函数的定义方式。
图2为对NURBS曲面S(u,v)进行保面积参数优化的最优结果;
(1)计算NURBS曲面的优化方程的系数,其步骤如下:
取样2m个点在u区间内单调,2n个点在v区间内单调,计算如下:
0 = u 0 < u 1 < u 2 < . . . < u 2 m = 1 0 = v 0 < v 1 < v 2 < . . . < v 2 n = 1
使得
I &ap; T = h 1 g 1 4 &Sigma; i 1 = 0 2 m &Sigma; j 1 = 0 2 n A i 1 A j 1 | | X u ( u i 1 , v j 1 ) &times; X v ( u i 1 , v j 1 ) | | 2 B i 2 ( u i 1 ) B j 2 ( v j 1 ) - - - ( 1 - 1 )
满足:
h 1 = 1 2 m g 1 = 1 2 n u i 1 = i 1 h 1 v j 1 = j 1 g 1 , A i 1 = 1 i 1 = 0,2 m 2 i 1 = 1,2 , . . . 2 m - 1 ,
A j 1 = 1 j 1 = 0,2 n 2 j 1 = 1,2 , . . . 2 n - 1 ,
使用双重积分的算法计算Ci,j,其计算步骤如下:
第一步:设置式(1-1)中u,v两个方向采样密度m,n的值m0=n0=10;
第二步:计算式(1-1)中数值积分T的值T0=T,其中T表示数值双重积分;
第三步:令mr=2mr-1,nr=2nr-1,其中mr,nr分别为u/v方向的采样密度;
第四步:计算T的新近似值Tr;
第五步:如果|Tr-Tr-1|<∈,结束,其中∈是整个计算过程的终止条件;否则迭代次数r=r+1,回到第三步。
(2)根据公式变换,计算当前曲面参数化X(s,t)与保面积参数化的偏差,偏差计算方法如下:
&Integral; 0 1 &Integral; 0 1 ( | | X s &times; X t | | - A ) 2 dsdt - - - ( 2 - 1 )
其中,Xs表示X(s,t)在s方向上的偏导数,Xt表示X(s,t)在t方向上的偏导数,A表示给定曲面的面积,||·||表示三维空间的向量长度。
计算偏差值的最小值,等价于计算J(α,β)的最小值,计算方法如下:
J ( &alpha; , &beta; ) = &Integral; 0 1 &Integral; 0 1 | | X s &times; X t | | 2 dsdt
根据链式法则,进一步计算J(α,β),计算方法如下:
J ( &alpha; , &beta; ) = &Integral; 0 1 &Integral; 0 1 | | X s &times; X t | | 2 dsdt
= &Integral; 0 1 &Integral; 0 1 | | X u &times; X v | | 2 &CenterDot; ( &PartialD; u &PartialD; s ) 2 &CenterDot; ( &PartialD; v &PartialD; t ) 2 dsdt = &Integral; 0 1 &Integral; 0 1 | | X u &times; X v | | 2 &CenterDot; &PartialD; u &PartialD; s &CenterDot; &PartialD; v &PartialD; t dudv
= &Integral; 0 1 &Integral; 0 1 | | X u &times; X v | | 2 &CenterDot; ( 1 - &alpha; + 2 u&alpha; - u ) 2 &alpha; ( 1 - &alpha; ) &CenterDot; ( 1 - &beta; + 2 v&beta; - v ) 2 &beta; ( 1 - &beta; ) dudv
= &Sigma; i = 0 2 &Sigma; j = 0 2 c i , j B i 2 ( &alpha; ) B j 2 ( &beta; ) 2 i 2 j &alpha; ( 1 - &alpha; ) &beta; ( 1 - &beta; )
其中,J(α,β)的解满足:
0 = &PartialD; J ( &alpha; , &beta; ) &PartialD; &alpha; ,
0 = &PartialD; J ( &alpha; , &beta; ) &PartialD; &beta; , - - - ( 2 - 2 )
计算出其等价条件,计算方法如下:
0 = &PartialD; J ( &alpha; , &beta; ) &PartialD; &alpha;
= B 2 2 ( &alpha; ) ( c 2,0 B 0 2 ( &beta; ) + c 2,1 B 1 2 ( &beta; ) 2 + c 2,2 B 2 2 ( &beta; ) ) - B 0 2 ( &alpha; ) ( c 0,0 B 0 2 ( &beta; ) + c 0,1 B 1 2 ( &beta; ) 2 + c 0,2 B 2 2 ( &beta; ) ) &alpha; 2 ( 1 - &alpha; ) 2 &beta; ( 1 - &beta; ) - - - ( 2 - 3 )
计算出(2-3)式的等价条件,计算方法如下:
B 2 2 ( &alpha; ) B 0 2 ( &alpha; ) = c 0,0 B 0 2 ( &beta; ) + c 0,1 B 1 2 ( &beta; ) 2 + c 0,2 B 2 2 ( &beta; ) c 2,0 B 0 2 ( &beta; ) + c 2,1 B 1 2 ( &beta; ) 2 + c 2,2 B 2 2 ( &beta; )
计算出J(α,β)对β偏微分为0的等价条件,计算方法如下:
B 2 2 ( &beta; ) B 0 2 ( &beta; ) = c 0,0 B 0 2 ( &alpha; ) + c 1,0 B 1 2 ( &alpha; ) 2 + c 2,0 B 2 2 ( &alpha; ) c 0,2 B 0 2 ( &alpha; ) + c 1,2 B 1 2 ( &alpha; ) 2 + c 2,2 B 2 2 ( &alpha; )
对两个偏导公式(2-2)表示的两条平面代数曲线进行求交,求得的交点坐标即为最后所求的最优线性变换的系数α和β。
(3)对NURBS空间曲面进行变换,其步骤如下:
对参数u,v分别进行变换,计算方法如下:
u = f 1 ( s ) = ( &alpha; - 1 ) s 2 &alpha;s - s - &alpha; , &alpha; &Element; ( 0,1 )
v = f 2 ( t ) = ( &beta; - 1 ) t 2 &beta;t - t - &beta; , &beta; &Element; ( 0,1 )
其中,s,t是对u,v变换后的参数。
分别把参数s,t映射到单位区间上,使之满足:
f 1 ( 0 ) = 0 , f 1 ( 1 ) = 1 , f 1 ( 0.5 ) = 1 - &alpha; f 2 ( 0 ) = 0 , f 2 ( 1 ) = 1 , f 2 ( 0.5 ) = 1 - &beta;
变换方程,反求参数s和t,得到表达式:
s = f 3 ( u ) = &alpha;u 1 - &alpha; + 2 &alpha;u - u
t = f 4 ( v ) = &beta;v 1 - &beta; + 2 &beta;v - v
把s和t的表达式代入NURBS曲面的方程形式,计算重新参数化曲面X(s,t),计算方法如下:
X ( s , t ) = &Sigma; i = 0 n u - 1 &Sigma; j = 0 n v - 1 N i p ( s ) N j q ( t ) &omega; ~ i , j P i , j &Sigma; i = 0 n u - 1 &Sigma; j = 0 n v - 1 N i p ( s ) N j q ( t ) &omega; ~ i , j , s , t &Element; [ 0,1 ]
其中是曲面X(s,t)中序号为(i,j)的控制顶点新的权重,计算方法如下:
&omega; ~ i , j = &omega; i , j &Pi; k = 1 m ( 1 - &alpha; + 2 &alpha;u i + k - u i + k ) &Pi; l = 1 n ( 1 - &beta; + 2 &beta; u j + l - u j + l )
产生新的节点向量计算方法如下:
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

Claims (7)

1.一种自由曲面的保面积参数特性优化方法,其特征是简单有效、在保持曲面次数不变,不破坏曲面形状的前提下优化曲面的保面积参数特性,具体步骤为:
步骤一:输入空间自由曲面;
步骤二:根据自由曲面类型的不同,分别计算空间自由曲面优化方程的系数;
步骤三:通过计算两条平面参数曲线的交点获取自由曲面最优变换;
步骤四:对空间自由曲面进行变换;
所述步骤三的具体步骤为:
(3-1)确定当前曲面参数化与保面积参数化的偏差;
(3-2)利用公式等价法确定当前曲面参数化与保面积参数化偏差的最小值;
(3-3)通过计算两条平面曲线的交点确定最优参数变换的系数。
2.如权利要求1所述一种自由曲面的保面积参数特性优化方法,所述步骤一中空间自由曲面的表达式为:
S ( u , v ) = &Sigma; i = 0 n u - 1 &Sigma; j = 0 n v - 1 N i p ( u ) N j q ( v ) &omega; i , j P i , j &Sigma; i = 0 n u - 1 &Sigma; j = 0 n u - 1 N i p ( u ) N j q ( v ) &omega; i , j , u , v &Element; [ 0,1 ]
其中,u和v是曲面S(u,v)的参数,nu和nv是曲面S(u,v)所含的控制顶点在u方向和v方向上的个数,Pi,j是曲面S(u,v)中序号为(i,j)的控制顶点的坐标值,ωi,j是曲面S(u,v)中序号为(i,j)的控制顶点的权重,是定义在节点向量序列U之上的序号为i的p阶B-spline基函数;是定义在节点向量序列V之上的序号为j的q阶B-spline基函数,i=0,1,…,nu-1;j=0,1,…,nv-1,i和j均为大于等于0的整数,
其中p,q是曲面S(u,v)在u方向和v方向上的次数,u0,u1,…,un+p为节点向量序列U中的节点,其中u0=u1=…=up=0,un=un+1=…=un+p=1,0<up+1,un+2,…,un-1<1;v0,v1,…,vn+q为节点向量序列V中的节点,其中v0=v1=…=vq=0,vn=vn+1=…=vn+q=1,0<vq+1,vq+2,…,vn-1<1,所述的B-spline基函数采用Matlab系统样条工具库中B-spline基函数的定义方式。
3.如权利要求l所述一种自由曲面的保面积参数特性优化方法,所述步骤二的具体步骤为:
如果输入的曲面是Bézier曲面,首先确定Bézier曲面的表示形式及确定Bézier曲面在向量序列u/v方向上的偏微分,然后确定Bézier曲面的微分第一基本形式;
根据Bézier曲面的微分第一基本形式确定优化方程的系数ci,j
4.如权利要求l所述一种自由曲面的保面积参数特性优化方法,所述步骤二的具体步骤为:如果输入曲面是B-spline曲面,通过节点插入法把B-spline曲面细分成n个Bézier曲面,用表示第r个Bézier曲面的局部参数域,确定第r个子曲面的优化方程系数;利用所有子曲面的优化方程系数确定B-spline曲面优化方程系数ci,j
5.如权利要求l所述一种自由曲面的保面积参数特性优化方法,所述步骤二的具体步骤为:
(2-1)如果输入曲面是NURBS曲面,取样2m个点在u区间内单调,2n个点在v区间内单调,
0 = u 0 < u 1 < u 2 < . . . < u 2 m = 1 0 = v 0 < v 1 < v 2 < . . . < v 2 n = 1
其中,u0,u1,…,u2m为u方向采样点,v1,…,V2n为v方向采样点;使得
I &ap; T = h 1 g 1 4 &Sigma; i 2 = 0 2 m &Sigma; j 2 = 0 2 n A i 2 A j 2 | | X u ( u i 1 , v j 1 ) &times; X v ( u i 1 , v j 1 ) | | 2 B i 2 ( u i 1 ) B j 2 ( v j 2 ) - - - ( 1 )
满足: h 1 = 1 2 m g 1 = 1 2 n u i 1 = i 1 h 1 v j 1 = j 1 g 1 , A i 1 = 1 i 1 = 0,2 m 2 i 1 = 1,2 , . . . 2 m - 1 ,
A j 1 = 1 j 1 = 0,2 n 2 j 1 = 01,2 , . . . 2 n - 1 ;
(2-2)使用双重积分的算法计算ci,j
6.如权利要求l所述一种自由曲面的保面积参数特性优化方法,所述步骤四的具体步骤为:
(4-1)对参数u,v分别进行变换:
设s,t是对u,v变换后的参数;分别把参数s,t映射到单位区间上,使之满足:s和t为0时,u和v也为0;s和t为1时,u和v也为1;s和t为0.5时,u和v分别为1-α和1-β,由变换方程,确定参数s和t的表达式,α和β表示变换的两个自由参数;
(4-2)把s和t的表达式代入自由空间曲面的方程形式,确定重新参数化曲面X(s,t),
确定重新参数化曲面的节点向量
7.如权利要求5所述一种自由曲面的保面积参数特性优化方法,所述步骤(2-2)的具体步骤为:
(2-2-1)设置式(1)中u,v两个方向采样密度m,n的值m0=n0=10;
(2-2-2)确定式(1)中数值积分T的值T0=T,其中T表示数值双重积分;
(2-2-3)令mr=2mr-1,nr=2nr-l,其中mr,nr分别为u/v方向的采样密度;
(2-2-4)确定T的新近似值Tr
(2-2-5)如果|Tr-Tr-l|<∈,结束;其中∈是整个计算过程的终止条件;否则迭代次数r=r+1,回到步骤(2-2-3)。
CN201310099801.3A 2013-03-26 2013-03-26 一种自由曲面的保面积参数特性优化方法 Active CN103136431B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310099801.3A CN103136431B (zh) 2013-03-26 2013-03-26 一种自由曲面的保面积参数特性优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310099801.3A CN103136431B (zh) 2013-03-26 2013-03-26 一种自由曲面的保面积参数特性优化方法

Publications (2)

Publication Number Publication Date
CN103136431A CN103136431A (zh) 2013-06-05
CN103136431B true CN103136431B (zh) 2015-07-15

Family

ID=48496251

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310099801.3A Active CN103136431B (zh) 2013-03-26 2013-03-26 一种自由曲面的保面积参数特性优化方法

Country Status (1)

Country Link
CN (1) CN103136431B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104898274B (zh) * 2014-03-05 2018-01-30 清华大学 应用于光学系统的自由曲面的设计方法
CN104392021B (zh) * 2014-10-24 2016-04-06 山东大学 一种层次自由曲面的保角参数特性优化方法
CN106503305B (zh) * 2016-09-30 2019-05-03 河海大学 一种考虑损伤的自由曲面形态创建方法
CN111330816B (zh) * 2020-02-28 2022-03-01 山东女子学院 基于双二次Bézier曲面的工件喷涂方法及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005024722A2 (en) * 2003-09-09 2005-03-17 The Board Of Trustees Of The University Of Illinois Fast hierarchical tomography methods and apparatus
JP5436416B2 (ja) * 2008-05-23 2014-03-05 国立大学法人横浜国立大学 近似処理方法、および近似処理装置
CN101482979B (zh) * 2008-12-30 2010-09-29 清华大学 一种光顺优化的nurbs空间曲线曲率连续拼接的cad方法

Also Published As

Publication number Publication date
CN103136431A (zh) 2013-06-05

Similar Documents

Publication Publication Date Title
Xie et al. The generation of arbitrary order curved meshes for 3D finite element analysis
Giachetti et al. A parametric representation of fuzzy numbers and their arithmetic operators
CN103136431B (zh) 一种自由曲面的保面积参数特性优化方法
CN101482979B (zh) 一种光顺优化的nurbs空间曲线曲率连续拼接的cad方法
CN101408991B (zh) 一种插值型细分和逼近型细分相融合的曲面造型方法
CN106682262A (zh) 一种获取飞行器流场的数值模拟方法
Cao et al. Computation of medial axis and offset curves of curved boundaries in planar domain
Simsek Interpolation function of generalized q− Bernstein-type basis polynomials and applications
Van Elsas et al. Displacement feature modelling for conceptual design
CN104268322A (zh) Weno差分方法的一种边界处理技术
CN104392021B (zh) 一种层次自由曲面的保角参数特性优化方法
CN101739718B (zh) 一种基于参数模板的玉米叶片虚拟仿真建模方法
Musuvathy et al. Computing medial axes of generic 3D regions bounded by B-spline surfaces
CN101546351B (zh) 一种叶轮的变复杂度形状优化的几何参数化建模方法
CN101515306A (zh) 基于G1连续三角Bézier曲面的产品STL模型重建方法
Yu et al. Environmental landscape art design using dynamic nonlinear parameterization
Schaefer et al. A unified, integral construction for coordinates over closed curves
Dorado Medial axis of a planar region by offset self-intersections
Filip et al. Procedurally representing lofted surfaces
Fu et al. An algorithm for finding intersection between ball B-spline curves
CN104809297A (zh) 一种磁场-结构场耦合计算中的异型网格间的电磁力密度传递方法
Yang Geometric Hermite interpolation by logarithmic arc splines
Ba et al. Research on 3D medial axis transform via the saddle point programming method
Ou et al. High-Order Spectral Difference Method for the Navier-Stokes Equation on Unstructured Moving Deformable Grid
Wang et al. Constructing up to G 2 continuous curve on freeform surface

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant