CN104392021B - 一种层次自由曲面的保角参数特性优化方法 - Google Patents

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

Info

Publication number
CN104392021B
CN104392021B CN201410579358.4A CN201410579358A CN104392021B CN 104392021 B CN104392021 B CN 104392021B CN 201410579358 A CN201410579358 A CN 201410579358A CN 104392021 B CN104392021 B CN 104392021B
Authority
CN
China
Prior art keywords
sigma
conformal
free form
form surface
error
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.)
Expired - Fee Related
Application number
CN201410579358.4A
Other languages
English (en)
Other versions
CN104392021A (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 CN201410579358.4A priority Critical patent/CN104392021B/zh
Publication of CN104392021A publication Critical patent/CN104392021A/zh
Application granted granted Critical
Publication of CN104392021B publication Critical patent/CN104392021B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Generation (AREA)

Abstract

本发明公开了一种层次自由曲面的保角参数特性优化方法,初始阶段输入一个自由曲面,使用组合辛普森规则构造其保角能量离散逼近形式;使用里奇流方法构建自由变换的参数形式,使最优自由变换问题转换为最小二乘问题;计算其保角误差,反复迭代可得到满足误差范围内的具有最优保角性的层次自由曲面。该方法在不改变用户给定的自由曲面形状和次数的前提下,通过对自由曲面进行自由变换引入层次自由曲面,实现了对自由曲面的保角特性的优化。

Description

一种层次自由曲面的保角参数特性优化方法
技术领域
本发明涉及一种层次自由曲面的保角参数特性优化方法。
背景技术
国际标准化组织(ISO)于1991年正式确定把NURBS方法作为定义产品形状的唯一数学方法,越来越多的CAD/CAM系统采用NURBS作为其模型,NURBS在工业产品的外形设计中获得广泛的应用。纹理映射、曲面镶嵌、曲面匹配和注册的结果都和曲面的保角性息息相关。
在现代图形学和建筑学中,自由曲面的作用日益重要。曲面渲染(例如纹理映射)、曲面离散、曲面采样等自由曲面应用十分依赖曲面的保角特性。已有的保角映射的成果大多针对离散三角网格曲面,到目前为止还未有三维NURBS自由曲面保角性的相关成熟结果。
设计人员通常先对自由曲面保角特性进行优化,以满足曲面采样、曲面相交、曲率计算等算法的要求。因此基于NURBS曲面保角参数特性优化方法具有很强的实用价值。
发明内容
本发明的目的是为克服上述现有技术的不足,提供一种层次自由曲面的保角参数特性优化方法。该方法通过引入层次自由曲面和自由变换,在不改变原有自由曲面形状的前提下,实现自由曲面保角参数特性的优化
为实现上述目的,本发明采用下述技术方案:
一种层次自由曲面的保角参数特性优化方法,包括如下步骤:
1)输入NURBS空间自由曲面X(u,v);
2)将自由曲面X(u,v)的保角能量公式化,得到保角能量函数;并对保角能量函数进行离散化处理;
3)采用最小二乘方法极小化离散后的保角能量函数,并计算出相应的优化后的自由曲面;
4)对新的层次自由曲面采样,计算保角性误差,将所得保角性误差与设定的阈值进行比较:如果所述误差小于设定阈值,则所得层次自由曲面具有保角性;如果所述误差大于设定阈值,则所得层次自由曲面不具有保角性,分别增加u,v上采样点数目,提高(u,v)参数域采样精度,返回步骤1)重新计算。
所述步骤1)中NURBS空间自由曲面X(u,v)具体为:
X ( u , v ) = Σ i = 0 n u Σ j = 0 n v N i p 1 ( u ) N j q 1 ( v ) ω i , j P i , j Σ i = 0 n u Σ j = 0 n v N i p 1 ( u ) N j q 1 ( v ) ω i , j , u , v ∈ [ 0,1 ]
其中,u和v是曲面X(u,v)的参数,nu和nv是曲面X(u,v)所含的控制顶点在u方向和v方向上的个数,Pi,j是曲面(u,v)中序号为(i,j)的控制顶点的坐标值,由用户输入,i=0,1,...,nu-1;j=0,1,...,nv-1,采用三维直角坐标表示,ωi,j是曲面X(u,v)中序号为(i,j)的控制顶点的权重,由用户输入,i=0,1,...,nu-1;j=0,1,...,nv-1,是定义在节点向量序列U之上的序号为i的第p1阶B-spline基函数,i=0,1,...,nu-1;是定义在节点向量序列V之上的序号为j的第q1阶B-spline基函数,j=0,1,...,nv-1,
其中,p,q是曲面X(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)中将自由曲面X(u,v)的保角能量公式化,得到保角能量函数的具体为:
J c ( Q i , j ) = ∫ 0 1 ∫ 0 1 | φ t - - F EG - F 2 - G EG - F 2 E EG - F 2 F EG - F 2 φ s | 2 dsdt
其中,确定曲面X(u,v)的基本形式为:
ds2=Xu·Xv(du)2+2Xu·Xvdudv+Xv·Xv(dv)2
为曲面X(u,v)的两个偏导数;
E=Xu·Xv,F=Xu·Xv,G=Xv·Xv
其中,E和G代表了两个偏导的长度,F用来度量两个偏导的正交性;
由层次自由曲面变换可得
X ( u , v ) = φ ( s , t ) = Σ i = 0 n s Σ j = 0 n t N i p 2 ( s ) N j q 2 ( t ) Q i , j ,
上述保角能量函数中φs和φt分别是变换后自由曲面对s和t的偏导数。
所述步骤2)中对保角能量函数利用复合辛普森规则逼近,为了应用该规则,对保角能量函数进行离散化处理的具体方法如下:
在曲面X(u,v)的参数域上进行离散采样,分别将参数域u,v细分为2l和2k个子区间,其均分步长分别为h=1/(2l),p=1/(2k);细分后参数域如下:
R i , j = u p + i · ( u n u + 1 - u p ) 2 l v q + i · ( v n v + 1 - v q ) 2 k , i = 0 , . . . 2 l , j = 0 , . . . 2 k .
其中,upvq均为参数域节点向量中的节点;
使用里奇流方法计算出对应离散化后曲面X(u,v)对应的保角映射M,令
T = | φ t - - F EG - F 2 - G EG - F 2 E EG - F 2 F EG - F 2 φ s | 2
其中,E=Xu·Xv,F=Xu·Xv,G=Xv·Xv,E和G代表了两个偏导的长度,F用来度量两个偏导的正交性;φs和φt分别是层次自由曲面变换(u,v)=φ(s,t)后,对s和t的偏导数;
利用辛普森规则的逼近后的保角能量结果应有如下形式:
J = J ~ + E error
其中,参数域中存在某一个使得
J ~ = 4 hp 9 { J 1 + 2 J 2 + 4 J 3 + J 4 } E error = - h 4 ∂ 4 T ( s ‾ , t ‾ ) ∂ a 4 + p 4 ∂ 4 T ( s ^ , t ^ ) ∂ t 4 180 J 1 = T ( s 0,0 , t 0,0 ) + 2 Σ i = 1 l - 1 T ( s 2 i , 0 , t 2 i , 0 ) + 4 Σ i = 1 l T ( s 2 i - 1,0 , t 2 i - 1,0 ) + T ( s 2 l , 0 , t 2 l , 0 ) J 2 = Σ j = 1 k - 1 T ( s 0 , 2 j , t 0 , 2 j ) + 2 Σ j = 1 k - 1 Σ i = 1 l - 1 T ( s 2 i , 2 j , t 2 i , 2 j ) + 4 Σ j = 1 k - 1 Σ i = 1 l T ( s 2 i - 1 , 2 j , t 2 i - 1 , 2 j ) + Σ j = 1 k - 1 T ( s 2 l , 2 j , t 2 l , 2 j ) J 3 = Σ j = 1 k T ( s 0 , 2 j - 1 , t 0 , 2 j - 1 ) + 2 Σ j = 1 k Σ i = 1 l - 1 T ( s 2 i , 2 j - 1 , t 2 i , 2 j - 1 ) + 4 Σ j = 1 k Σ i = 1 l T ( s 2 i - 1 , 2 j - 1 , t 2 i - 1 , 2 j - 1 ) + Σ j = 1 k T ( s 2 l , 2 j - 1 , t 2 l , 2 j - 1 ) J 4 = T ( s 0 , 2 k , t 0 , 2 k ) + 2 Σ i = 1 l - 1 T ( s 2 i , 2 k , t 2 i , 2 k ) + 4 Σ i = 1 l T ( s 2 i - 1 , 2 k , t 2 i - 1 , 2 k ) + T ( s 2 l , 2 k , t 2 l , 2 k )
其中,J1,J2,J3,J4是其四个离散项,si,j,ti,j是参数中的采样点u,v坐标,h和p分别是u,v方向的采样间隔,T是保角项;通过增加采样密度l和k来减少Eerror项,当l和k均为10时,误差项就变成了如下形式
E error = - ∂ 4 T ( u ‾ , v ‾ ) ∂ u 4 + ∂ 4 T ( u ^ , v ^ ) ∂ v 4 2.88 × 10 11
其中u,v是自由曲面的两个参数,T是保角项;优化其如下离散保角能量:
J ~ p ( Q i , j ) = Σ i = 0 2 l Σ j = 0 2 k | R i , j - φ ( s i , j , t i , j ) | 2
Ri,j是u,v参数域中的采样点,si,j,ti,j是st参数域中的两个参数;φ是二维自由曲面变换,Qi,j是二维变换φ的控制顶点;优化离散保角能量使得生成的层次曲面的参数化逼近保角性。
所述步骤3)中采用最小二乘方法极小化离散后的保角能量函数的具体方法为:
令{R(i,j)}和{C(si,j,ti,j)},i=0,…,2l,j=0,…,2k分别表示采样点集合和其对应满足的保角性约束条件集合;
将{R(i,j)}和{C(si,j,ti,j)}分为无约束部分和有约束部分:使用来表示无约束的部分;使用来表示有约束的部分;给有约束部分设定非负权重,有增加权重可以增加每个数据点逼近其邻近点的逼近程度,减小权重可以减弱每个数据点逼近其邻近点的逼近程度;
令mu=ru+su+1,mc=rc+sc+1,其中mu,ru,su表示无约束部分元素的数目,mc,rc,sc表示有约束部分元素的数目,且满足mc<n,mc+n<mu+1;
Sk,k=0,…,mu是第k个无约束数据点;
Tk,k=0,…,mc是第k个有约束数据点;
ωk,k=0,…,mu是第k个无约束数据点的约束项;
定义向量和矩阵如下:
S=[Sk],为一个有mu+1个元素的向量;
T=[Tk],为一个有mc+1个元素的向量;
W=[ωk],为一个(mu+1)×(mu+1)的对角矩阵,ωk在对角线上;
Q=[Qi,j],为一个(ns+1)×(nt+1)的未知控制定点向量;
N=[NDk],其中NDk是一个k次基函数或者是保角项的基函数,N为一个(mu+1)×(ns+1)(nt+1)的标量矩阵;
M=[MDk],其中MDk是一个k次基函数或者是保角项的基函数,M为一个(mu+1)×(ns+1)(nt+1)的标量矩阵;
令A=[λk],A是拉格朗日乘子的向量,每个λk都是和Qi,j维度相同的向量;这里,无约束部分有
NQ=S
有约束部分有
MQ=T
无约束部分误差是S–NP,我们希望通过极小化这个误差从而使得MP=T;因此,利用拉格朗日乘子法,等价极小化
(ST-PNT)W(S–NP)+AT(MP-T)
对于未知数A,P;对上面的式子进行微分,令微分为0
-2(STWN-PTNTWN)+ATM=0
MP-T=0
表示为矩阵形式为
N T WN M T M 0 P A = N T WS T
通过求解上式我们可得到A和P;解唯一的条件是NTWN和M(NTWN)-1MT都是可逆的;可得
P = ( N T WN ) - 1 N T WS - ( N T WN ) - 1 M T A A = ( M ( N T WN ) - 1 M T ) - 1 ( M ( N T WN ) - 1 N T WS - T )
最终P为
P=(NTWN)-1NTWS–(NTWN)-1MT(M(NTWN)-1MT)-1(M(NTWN)-1NTWS-T)
该P就是通过最小二乘法得到的满足要求的解。
所述步骤4)中新的层次自由曲面采样点的最大的保角性误差为:
max 0 ≤ k ≤ m | N × ∂ X ∂ s - ∂ X ∂ t | 2
其中,N是曲面法向量, 分别是曲面X在s,t两个方向上的切矢。
本发明有益效果:
在实际应用中,本发明方法简单可行。在不改变用户给定的自由曲面形状和次数的前提下,通过对自由曲面进行线性重新参数化,只改变自由曲面的控制顶点、权因子以及节点向量,实现了对自由曲面的保角特性的优化,并且保证了最优保角曲面的唯一性。
附图说明
图1为输入的一个人脸NURBS曲面X(u,v);
图2为对NURBS曲面X(u,v)进行保角参数优化的最优结果;
图3是整个方法的步骤流程图。
具体实施方式
下面通过具体实例和附图对本发明进行进一步的阐述,应该说明的是,下述说明仅是为了解释本发明,并不对其内容进行限定。
本CAD方法以Windows7中的VisualStudio2008为开发平台,其具体实施方式如下:
图1是输入一个NURBS空间曲面X(u,v),对于曲面X(u,v)其形式为:
X ( u , v ) = Σ i = 0 n u Σ j = 0 n v N i p 1 ( u ) N j q 1 ( v ) ω i , j P i , j Σ i = 0 n u Σ j = 0 n v N i p 1 ( u ) N j q 1 ( v ) ω i , j , u , v ∈ [ 0,1 ]
其中u和v是曲面X(u,v)的参数,nu和nv是曲面X(u,v)所含的控制顶点在u方向和v方向上的个数,Pi,j是曲面(u,v)中序号为(i,j)的控制顶点的坐标值,由用户输入,i=0,1,...,nu-1;j=0,1,...,nv-1,采用三维直角坐标表示,ωi,j是曲面X(u,v)中序号为(i,j)的控制顶点的权重,由用户输入,i=0,1,...,nu-1;j=0,1,...,nv-1,是定义在节点向量序列U之上的序号为i的第p1阶B-spline基函数,i=0,1,...,nu-1;是定义在节点向量序列V之上的序号为j的第q1阶B-spline基函数,j=0,1,...,nv-1,
其中p,q是曲面X(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基函数的定义方式;
S2:保角能量离散化
S21:保角能量公式化
X(u,v)可表现为其基本形式,
ds2=Xu·Xv(du)2+2Xu·Xvdudv+Xv·Xv(dv)2
曲面X的两个偏导数。第一个基本形式描述了曲面X的度量。设定:
E=Xu·Xv,F=Xu·Xv,G=Xv·Xv
其中的E和G代表了两个偏导的长度,F用来度量两个偏导的正交性。
保角能量公式最终为
J c ( Q i , j ) = ∫ 0 1 ∫ 0 1 | φ t - - F EG - F 2 - G EG - F 2 E EG - F 2 F EG - F 2 φ s | 2 dsdt
S22:在计算机中,采用如下方法离散保角能量:
使用混合辛普森规则离散化得到的能量进行逼近。为了使用混合辛普森规则,我们需要在参数域上均匀采样,将u,v均匀分为2l和2k份。
R i , j = u p + i · ( u n u + 1 - u p ) 2 l v q + i · ( v n v + 1 - v q ) 2 k , i = 0 , . . . 2 l , j = 0 , . . . 2 k .
这样的细分方法决定了步长分别为h=1/(2l),p=1/(2k)。为了避免非线性问题,我们使用里奇流方法计算出对应离散化后的3DNURBS曲面的对应的保角映射M。假定
T = | φ t - - F EG - F 2 - G EG - F 2 E EG - F 2 F EG - F 2 φ s | 2
逼近结果形式如下
J = J ~ + E error
其中对于若干参数域中得
J ~ = 4 hp 9 { J 1 + 2 J 2 + 4 J 3 + J 4 } E error = - h 4 ∂ 4 T ( s ‾ , t ‾ ) ∂ a 4 + p 4 ∂ 4 T ( s ^ , t ^ ) ∂ t 4 180 J 1 = T ( s 0,0 , t 0,0 ) + 2 Σ i = 1 l - 1 T ( s 2 i , 0 , t 2 i , 0 ) + 4 Σ i = 1 l T ( s 2 i - 1,0 , t 2 i - 1,0 ) + T ( s 2 l , 0 , t 2 l , 0 ) J 2 = Σ j = 1 k - 1 T ( s 0 , 2 j , t 0 , 2 j ) + 2 Σ j = 1 k - 1 Σ i = 1 l - 1 T ( s 2 i , 2 j , t 2 i , 2 j ) + 4 Σ j = 1 k - 1 Σ i = 1 l T ( s 2 i - 1 , 2 j , t 2 i - 1 , 2 j ) + Σ j = 1 k - 1 T ( s 2 l , 2 j , t 2 l , 2 j ) J 3 = Σ j = 1 k T ( s 0 , 2 j - 1 , t 0 , 2 j - 1 ) + 2 Σ j = 1 k Σ i = 1 l - 1 T ( s 2 i , 2 j - 1 , t 2 i , 2 j - 1 ) + 4 Σ j = 1 k Σ i = 1 l T ( s 2 i - 1 , 2 j - 1 , t 2 i - 1 , 2 j - 1 ) + Σ j = 1 k T ( s 2 l , 2 j - 1 , t 2 l , 2 j - 1 ) J 4 = T ( s 0 , 2 k , t 0 , 2 k ) + 2 Σ i = 1 l - 1 T ( s 2 i , 2 k , t 2 i , 2 k ) + 4 Σ i = 1 l T ( s 2 i - 1 , 2 k , t 2 i - 1 , 2 k ) + T ( s 2 l , 2 k , t 2 l , 2 k )
我们可以通过增加采样密度l和k来减少Eerror项,当l,k均为10时,误差项就变成了如下形式
E error = - ∂ 4 T ( u ‾ , v ‾ ) ∂ u 4 + ∂ 4 T ( u ^ , v ^ ) ∂ v 4 2.88 × 10 11
对于一个给定的NURBS曲面,误差计量是有上界的,当l,k为10时,误差项能够减少7个数量级。等式(5)中得能量函数被离散为如下形式
J ~ c ( Q i , j ) , i = 0 . . . n s , j = 0 . . . n t .
除了保角性,我们希望变换可以逼近X-1οM-1,这样离散形式
J ~ p ( Q i , j ) = Σ i = 0 2 l Σ j = 0 2 k | R i , j - φ ( s i , j , t i , j ) | 2
就可以尽可能地小了。在下一节中给出了一个就加权带约束最小二乘方法用来求最佳变换φo,使得层次自由曲面X(φo(s,t))收敛于具有保角性。
S3:采用最小二乘方法极小化离散后的保角能量:
为了具有极小化保角能采用了一个加权带约束的最小二乘方法极小化保角能量。首先我们重新描述了这个极小化问题,然后通过拉格朗日乘子法得出了它的解。
假设{R(i,j)}和{(si,j,ti,j)},i=0,…,2l,j=0,…,2k分别是一系列点和要满足的保角性约束。我们将{R(i,j)}和{C(si,j,ti,j)}分为无约束部分和有约束部分。使用来表示无约束的部分,使用来表示有约束的部分(即精确插值部分)。我们同行也允许给无约束的部分加上约束,这样我们得到了通过这些权重,我们增加了对每个数据点逼近其邻近点的逼近程度的额外控制。增加权重可以增加对应项的逼近程度,减小权重可以减弱对应项的逼近程度。
假定mu=ru+su+1,mc=rc+sc+1,我们希望使用一个具有(ns+1)(nt+1)个控制顶点的自由变换φ(s,t)来对无约束点逼近,对约束点插值,这里我们要去mc<n且mc+n<mu+1。
Sk,k=0,…,mu是第k个无约束数据点(一个或者Cu(k)(si,j,ti,j));
Tk,k=0,…,mc是第k个有约束数据点(一个或者Cc(k)(si,j,ti,j));
ωk,k=0,…,mu是第k个无约束数据点的约束项。
定义向量和矩阵如下:
S=[Sk](一个有mu+1个元素的向量);
T=[Tk](一个有mc+1个元素的向量);
W=[ωk](一个(mu+1)×(mu+1)的对角矩阵,ωk在对角线上);
Q=[Qi,j](一个(ns+1)×(nt+1)的未知控制定点向量);
N=[NDk](其中NDk是一个k次基函数或者是保角项的基函数,它是一个(mu+1)×(ns+1)(nt+1)的标量矩阵);
M=[MDk](其中MDk是一个k次基函数或者是保角项的基函数,它是一个(mu+1)×(ns+1)(nt+1)的标量矩阵);
参数si,j和ti,j可以通过里奇流方法计算得到。自由变换变成了一个基本的带约束、有(ns+1)×(nt+1)个未知数、极小化问题,mc+1个约束的求解极小化问题。基本算法是使用拉格朗日乘子法进行计算。拉格朗日乘子法通过引入mc+1个附加未知量λk(拉格朗日乘子)。因此我们得到了[(ns+1)(nt+1)+mc+1]×[(ns+1)(nt+1)+mc+1]规模的等式矩阵。首先计算出来(mc+1)个λk,然后在计算出(ns+1)(nt+1)个Qi,j
A=[λk]
是兰格朗日乘子的向量,注意每个λk都是和Qi,j维度相同的向量。
我们希望极小化下面的式子
(ST-PNT)W(S–NP)+AT(MP-T)
对于未知数A,P。对上面的式子进行微分,令微分为0
-2(STWN-PTNTWN)+ATM=0
MP-T=0
表示为矩阵形式为
N T WN M T M 0 P A = N T WS T
通过求解上式(我们可得到A和P。解唯一的条件是NTWN和M(NTWN)-1MT都是可逆的。可得
P = ( N T WN ) - 1 N T WS - ( N T WN ) - 1 M T A A = ( M ( N T WN ) - 1 M T ) - 1 ( M ( N T WN ) - 1 N T WS - T )
最终P为
P=(NTWN)-1NTWS–(NTWN)-1MT(M(NTWN)-1MT)-1(M(NTWN)-1NTWS-T)
S4:与指定精度比较,确定是否继续迭代:
层次自由曲面的保角性可以通过在(s,t)参数域均匀采样,计算采样点的最大的保角性误差度量。
max 0 ≤ k ≤ m | N × ∂ X ∂ s - ∂ X ∂ t | 2
如果最大的保角误差大于给定的阙值εc,则提高(u,v)参数域采样精度,迭代执行S1。否则迭代终止。通过反复迭代,我们最终可以得到一个具有保角性的层次自由曲面。图2为迭代终止曲面。
图3是整个方法的步骤流程图,初始化阶段输入一张NURBS空间曲面S;重定义自由变换形式,提高(u,v)参数域采样精度;使用最小二乘法计算最优变换;计算新的层次自由曲面保角性误差和改善程度;如果最大的保角性误差小于阙值εc,或者改善程度小于阙值εi,迭代终止;否则层次自由曲面仍不具有保角性,则重新定义自由变换形式,迭代继续
在初始步骤中,设定l0,k0,这时保角性误差大于εc的点最多。然后提取出iso-等参线作为参数s和t,为它们分别设定εc。εc可以用来产生新的节点向量。新的节点向量将用于下面的曲面优化步骤。反复迭代,我们最终可以得到一个具有保角性的层次自由曲面
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

Claims (5)

1.一种层次自由曲面的保角参数特性优化方法,包括如下步骤:
1)输入NURBS空间自由曲面X(u,v);
2)将自由曲面X(u,v)的保角能量公式化,得到保角能量函数;并对保角能量函数进行离散化处理;
3)采用最小二乘方法极小化离散后的保角能量函数,并计算出相应的优化后的自由曲面;
4)对新的层次自由曲面采样,计算保角性误差,将所得保角性误差与设定的阈值进行比较:如果所述误差小于设定阈值,则所得层次自由曲面具有保角性;如果所述误差大于设定阈值,则所得层次自由曲面不具有保角性,分别增加u,v上采样点数目,提高(u,v)参数域采样精度,返回步骤1)重新计算;
所述步骤2)中将自由曲面X(u,v)的保角能量公式化,得到保角能量函数的具体为:
J c ( Q i , j ) = ∫ 0 1 ∫ 0 1 | φ t - - F E G - F 2 - G E G - F 2 E E G - F 2 F E G - F 2 φ s | 2 d s d t
其中,确定曲面X(u,v)的基本形式为:
ds2=Xu·Xv(du)2+2Xu·Xvdudv+Xv·Xv(dv)2
为曲面X(u,v)的两个偏导数;
E=Xu·Xv,F=Xu·Xv,G=Xv·Xv
其中,E和G代表了两个偏导的长度,F用来度量两个偏导的正交性;Qi,j是二维变换φ的控制顶点;
由层次自由曲面变换可得
X ( u , v ) = φ ( s , t ) = Σ i = 0 n s Σ j = 0 n t N i p 2 ( s ) N j q 2 ( t ) Q i , j ,
上述保角能量函数中φs和φt分别是变换后自由曲面对s和t的偏导数。
2.如权利要求1所述的一种层次自由曲面的保角参数特性优化方法,所述步骤1)中NURBS空间自由曲面X(u,v)具体为:
X ( u , v ) = Σ i = 0 n u Σ j = 0 n v N i p 1 ( u ) N j q 1 ( v ) ω i , j P i , j Σ i = 0 n u Σ j = 0 n v N i p 1 ( u ) N j q 1 ( v ) ω i , j , u , v ∈ [ 0 , 1 ]
其中,u和v是曲面X(u,v)的参数,nu和nv是曲面X(u,v)所含的控制顶点在u方向和v方向上的个数,Pi,j是曲面X(u,v)中序号为(i,j)的控制顶点的坐标值,由用户输入,i=0,1,...,nu-1;j=0,1,...,nv-1,采用三维直角坐标表示,ωi,j是曲面X(u,v)中序号为(i,j)的控制顶点的权重,由用户输入,i=0,1,...,nu-1;j=0,1,...,nv-1,是定义在节点向量序列U之上的序号为i、次数为p1的B样条基函数,i=0,1,...,nu-1;是定义在节点向量序列V之上的序号为j、次数为q1的B样条基函数,j=0,1,...,nv-1,p1、q1分别为B样条基函数的阶数;
其中,p,q是曲面X(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样条基函数采用Matlab系统样条工具库中B样条基函数的定义方式。
3.如权利要求1所述的一种层次自由曲面的保角参数特性优化方法,所述步骤2)中对保角能量函数利用复合辛普森规则逼近,为了应用该规则,对保角能量函数进行离散化处理的具体方法如下:
在曲面X(u,v)的参数域上进行离散采样,分别将参数域u,v细分为2l和2k个子区间,l和k分别为在参数域u,v上的采样密度,其均分步长分别为h=1/(21),p=1/(2k);细分后参数域如下:
R i , j = u p + i · ( u n u + 1 - u p ) 2 l v q + i · ( v n v + 1 - v q ) 2 k , i = 0 , ... 2 l , j = 0 , ... 2 k .
其中,upvq均为参数域节点向量中的节点;
使用里奇流方法计算出对应离散化后曲面X(u,v)对应的保角映射M,令
T = | φ t - - F E G - F 2 - G E G - F 2 E E G - F 2 F E G - F 2 φ s | 2
其中,E=Xu·Xv,F=Xu·Xv,G=Xv·Xv,E和G代表了两个偏导的长度,F用来度量两个偏导的正交性;φs和φt分别是层次自由曲面变换(u,v)=φ(s,t)后,对s和t的偏导数;利用辛普森规则的逼近后的保角能量结果应有如下形式:
J = J ~ + E e r r o r
其中,参数域中存在某一个使得
J ~ = 4 h p 9 { J 1 + 2 J 2 + 4 J 3 + J 4 } E e r r o r = - h 4 ∂ 4 T ( s ‾ , t ‾ ) ∂ s 4 + p 4 ∂ 4 T ( s ^ , t ^ ) ∂ t 4 180 J 1 = T ( s 0 , 0 , t 0 , 0 ) + 2 Σ i = 1 l - 1 T ( s 2 i , 0 , t 2 i , 0 ) + 4 Σ i = 1 l T ( s 2 i - 1 , 0 , t 2 i - 1 , 0 ) + T ( s 2 l , 0 , t 2 l , 0 ) J 2 = Σ j = 1 k - 1 T ( s 0 , 2 j , t 0 , 2 j ) + 2 Σ j = 1 k - 1 Σ i = 1 l - 1 T ( s 2 i , 2 j , t 2 i , 2 j ) + 4 Σ j = 1 k - 1 Σ i = 1 l T ( s 2 i - 1 , 2 j , t 2 i - 1 , 2 j ) + Σ j = 1 k - 1 T ( s 2 l , 2 j , t 2 l , 2 j ) J 3 = Σ j = 1 k T ( s 0 , 2 j - 1 , t 0 , 2 j - 1 ) + 2 Σ j = 1 k Σ i = 1 l - 1 T ( s 2 i , 2 j - 1 , t 2 i , 2 j - 1 ) + 4 Σ j = 1 k Σ i = 1 l T ( s 2 i - 1 , 2 j - 1 , t 2 i - 1 , 2 j - 1 ) + Σ j = 1 k T ( s 2 l , 2 j - 1 , t 2 l , 2 j - 1 ) J 4 = T ( s 0 , 2 k , t 0 , 2 k ) + 2 Σ i = 1 l - 1 T ( s 2 i , 2 k , t 2 i , 2 k ) + 4 Σ i = 1 l T ( s 2 i - 1 , 2 k , t 2 i - 1 , 2 k ) + T ( s 2 l , 2 k , t 2 l , 2 k )
其中,J1,J2,J3,J4是其四个离散项,si,j,ti,j是参数中的采样点u,v坐标,h和p分别是u,v方向的采样间隔,T是保角项;通过增加采样密度l和k来减少Eerror项,当l和k均为10时,误差项就变成了如下形式
E e r r o r = - ∂ 4 T ( u ‾ , v ‾ ) ∂ u 4 + ∂ 4 T ( u ^ , v ^ ) ∂ v 4 2.88 × 10 11
其中u,v是自由曲面的两个参数,T是保角项;优化其如下离散保角能量:
J ~ p ( Q i , j ) = Σ i = 0 2 l Σ j = 0 2 k | R i , j - φ ( s i , j , t i , j ) | 2
Ri,j是u,v参数域中的采样点,si,j,ti,j是st参数域中的两个参数;φ是二维自由曲面变换,Qi,j是二维变换φ的控制顶点;优化离散保角能量使得生成的层次曲面的参数化逼近保角性。
4.如权利要求1所述的一种层次自由曲面的保角参数特性优化方法,所述步骤3)中采用最小二乘方法极小化离散后的保角能量函数的具体方法为:
令{R(i,j)}和{C(si,j,ti,j)},i=0,...,2l,j=0,...,2k分别表示采样点集合和其对应满足的保角性约束条件集合;
将{R(i,j)}和{C(si,j,ti,j)}分为无约束部分和有约束部分:使用来表示无约束的部分;使用来表示有约束的部分;给有约束部分设定非负权重,有增加权重可以增加每个数据点逼近其邻近点的逼近程度,减小权重可以减弱每个数据点逼近其邻近点的逼近程度;
令mu=ru+su+1,mc=rc+sc+1,其中mu,ru,su表示无约束部分元素的数目,mc,rc,sc表示有约束部分元素的数目,且满足mc<n,mc+n<mu+1;
Sk,k=0,...,mu是第k个无约束数据点;
Tk,k=0,...,mc是第k个有约束数据点;
ωk,k=0,...,mu是第k个无约束数据点的约束项;
定义向量和矩阵如下:
S=[Sk],为一个有mu+1个元素的向量;
T=[Tk],为一个有mc+1个元素的向量;
W=[ωk],为一个(mu+1)×(mu+1)的对角矩阵,ωk在对角线上;
Q=[Qi,j],为一个(ns+1)×(nt+1)的未知控制定点向量;
N=[NDk],其中NDk是一个k次基函数或者是保角项的基函数,N为一个(mu+1)×(ns+1)(nt+1)的标量矩阵;
M=[MDk],其中MDk是一个k次基函数或者是保角项的基函数,M为一个(mu+1)×(ns+1)(nt+1)的标量矩阵;
令A=[λk],A是拉格朗日乘子的向量,每个λk都是和Qi,j维度相同的向量;这里,无约束部分有
NQ=S
有约束部分有
MQ=T
无约束部分误差是S-NP,通过极小化这个误差从而使得MP=T;因此,利用拉格朗日乘子法,等价极小化
(ST-PNT)W(S-NP)+AT(MP-T)
对于未知数A,P;对上面的式子进行微分,令微分为0
-2(STWN-pTNTWN)+ATM=0
MP-T=0
表示为矩阵形式为
N T W N M T M 0 P A = N T W S T
通过求解上式得到A和P;解唯一的条件是NTWN和M(NTWN)-1MT都是可逆的;可得
P = ( N T W N ) - 1 N T W S - ( N T W N ) - 1 M T A A = ( M ( N T W N ) - 1 M T ) - 1 ( M ( N T W N ) - 1 N T W S - T )
最终P为
P=(NTWN)-1NTWS-(NTWN)-1MT(M(NTWN)-1MT)-1(M(NTWN)-1NTWS-T)该P就是通过最小二乘法得到的满足要求的解。
5.如权利要求1所述的一种层次自由曲面的保角参数特性优化方法,所述步骤4)中新的层次自由曲面采样点的最大的保角性误差为:
m a x 0 ≤ k ≤ m | N × ∂ X ∂ s - ∂ X ∂ t | 2
其中,N是曲面法向量,分别是曲面X在s,t两个方向上的切向量。
CN201410579358.4A 2014-10-24 2014-10-24 一种层次自由曲面的保角参数特性优化方法 Expired - Fee Related CN104392021B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410579358.4A CN104392021B (zh) 2014-10-24 2014-10-24 一种层次自由曲面的保角参数特性优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410579358.4A CN104392021B (zh) 2014-10-24 2014-10-24 一种层次自由曲面的保角参数特性优化方法

Publications (2)

Publication Number Publication Date
CN104392021A CN104392021A (zh) 2015-03-04
CN104392021B true CN104392021B (zh) 2016-04-06

Family

ID=52609924

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410579358.4A Expired - Fee Related CN104392021B (zh) 2014-10-24 2014-10-24 一种层次自由曲面的保角参数特性优化方法

Country Status (1)

Country Link
CN (1) CN104392021B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106202822B (zh) * 2016-07-27 2019-04-19 西北工业大学 面向叶片自适应加工的b样条曲面模型重构方法
CN106503305B (zh) * 2016-09-30 2019-05-03 河海大学 一种考虑损伤的自由曲面形态创建方法
CN110543013B (zh) * 2019-08-09 2020-12-08 北京理工大学 一种调控光分布自由曲面光学系统的简化构建方法
CN111462492B (zh) * 2020-04-10 2021-03-30 中南大学 一种基于里奇流的关键路段检出方法
CN116500379B (zh) * 2023-05-15 2024-03-08 珠海中瑞电力科技有限公司 一种sts装置电压跌落精准定位方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101482979A (zh) * 2008-12-30 2009-07-15 清华大学 一种光顺优化的nurbs空间曲线曲率连续拼接的cad方法
CN103136431A (zh) * 2013-03-26 2013-06-05 山东大学 一种自由曲面的保面积参数特性优化方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8805908B2 (en) * 2008-05-23 2014-08-12 National University Corporation Yokohama National University Approximation processing method and approximation processing device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101482979A (zh) * 2008-12-30 2009-07-15 清华大学 一种光顺优化的nurbs空间曲线曲率连续拼接的cad方法
CN103136431A (zh) * 2013-03-26 2013-06-05 山东大学 一种自由曲面的保面积参数特性优化方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
NURBS 曲面重构方法在板料模面修型中的应用;李卫国 等;《计算机应用与软件》;20141012;第31卷(第10期);第281-284页 *
有理Bezier曲面的标准化;杨义军;《计算机辅助设计与图形学报》;20070228;第19卷(第2期);第245-250页 *

Also Published As

Publication number Publication date
CN104392021A (zh) 2015-03-04

Similar Documents

Publication Publication Date Title
CN104392021B (zh) 一种层次自由曲面的保角参数特性优化方法
Lin et al. Survey on geometric iterative methods and their applications
Sheffer et al. Parameterization of faceted surfaces for meshing using angle-based flattening
CN101751695B (zh) 点云数据的主曲率和主方向估计方法
CN112862972B (zh) 一种表面结构网格生成方法
JPH01149176A (ja) 図形表示システムにおける曲面情報生成方法
CN107085865B (zh) 应用于有限元分析的四边形分割方法
Al Akhras et al. Towards an automatic isogeometric analysis suitable trivariate models generation—Application to geometric parametric analysis
CN104268934A (zh) 一种由点云直接重建三维曲面的方法
WO2009142037A1 (ja) 近似処理方法、および近似処理装置
CN107403466A (zh) 基于全局加密的超大规模非结构网格生成方法
CN107886569A (zh) 一种基于离散李导数的测度可控的曲面参数化方法及系统
JP2002520750A (ja) 非正則パッチの細分化行列の固有空間におけるパラメータ化された曲面の数値計算方法
Liu et al. Meshfree approach for solving multi-dimensional systems of Fredholm integral equations via barycentric Lagrange interpolation
CN108986020A (zh) 一种三维曲面近似展开成平面的自适应方法
Barrera et al. Increasing the approximation order of spline quasi-interpolants
CN107464287A (zh) 基于多目标优化的曲面重构方法
CN116541995A (zh) 一种多级压气机的全几何空间参数化变形方法及系统
CN100583160C (zh) 一种基于细节编码及重构的物理变形方法
CN103136431B (zh) 一种自由曲面的保面积参数特性优化方法
CN109767492A (zh) 一种变电站三维模型的间距计算方法
CN101546351B (zh) 一种叶轮的变复杂度形状优化的几何参数化建模方法
Stefanini et al. Simulation of fuzzy dynamical systems using the LU-representation of fuzzy numbers
CN102930586A (zh) 一种基于线性旋转不变微分坐标的可交互几何变形方法
Qiao et al. An accurate and fast method for computing offsets of high degree rational Bézier/NURBS curves with user-definable tolerance

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160406

Termination date: 20171024

CF01 Termination of patent right due to non-payment of annual fee