首先通过引入形状调节参数c(0≤c≤1)给出了一种形状可调的C-C细分方法,基于该理论,针对细分曲面中的奇异点,本文以奇异点处的2-环作为控制网格,采用循环映射的方法,提出了一种形状可调的G2曲面造型方法,得到Bézier控制点的显式解。与以往的方法相比,生成的曲面不仅在奇异点处达到G2连续,而且解决了曲面设计的可调性问题。本文给出了算法流程和相关数据结构,也给出了相应的实例进行验证。 This paper discusses G2smooth connection near singular points on subdivision surfaces. A shape adjustable Catmull-Clark subdivision algorithm is present by introducing subdivision shape ad-justment parameter c(0≤c≤1). Based on this, aimed at the singular points in subdivision surface, based on the 2-ring of the singular points as control mesh, adopting the method of cyclic mapping, this paper proposes a G2surface modeling method which is shape-adjustable. Then we can get the explicit solution of the Bezier control points. Compared with existing methods, the generated surface not only achieves the G2continuous at singular points, but solves the problem of the curved surface design to be adjustable. The algorithm process and data structure are present. Corresponding examples are also given in this paper.
唐月红1,李森1,刘浩2,古玉屏1
1南京航空航天大学理学院数学系,江苏 南京
2南京航空航天大学机电学院机械工程系,江苏 南京
收稿日期:2017年11月30日;录用日期:2017年12月15日;发布日期:2017年12月22日
首先通过引入形状调节参数 c ( 0 ≤ c ≤ 1 ) 给出了一种形状可调的C-C细分方法,基于该理论,针对细分曲面中的奇异点,本文以奇异点处的2-环作为控制网格,采用循环映射的方法,提出了一种形状可调的G2曲面造型方法,得到Bézier控制点的显式解。与以往的方法相比,生成的曲面不仅在奇异点处达到G2连续,而且解决了曲面设计的可调性问题。本文给出了算法流程和相关数据结构,也给出了相应的实例进行验证。
关键词 :细分曲面,二阶几何连续,奇异点
Copyright © 2017 by authors and beplay安卓登录
This work is licensed under the Creative Commons Attribution International License (CC BY).
http://creativecommons.org/licenses/by/4.0/
细分曲面与NURBS曲面是现代工业的两大造型技术,细分曲面克服了NURBS曲面处理任意拓扑结构存在的困难,成为有效的建模手段之一。在曲面造型技术中奇异点的出现始终是无法避免的,由于奇异点的存在,最终得到的曲面会出现“褶皱”等现象,严重影响曲面的质量,尤其是在工业产品的设计中,如果奇异点的处理不恰当,会使产品无法投入使用,因此,奇异点的处理技术成为曲面造型的关键点。传统的细分方法的奇异点处仅仅满足 G 1 连续,为了构造出 G 2 连续的曲面,人们进行了很多的探索。2009年,剑桥大学的Thomas J. Cashman [
经典的Catmull-Clark细分基于双三次均匀B-样条,在给定初始控制网格的情况下,生成的结果曲面也就唯一确定,不具有可调性。而在实际应用中,往往大多时候生成的结果曲面不能直接满足要求,需要进行一定的调整。因此,为了增强曲面设计的灵活性和可调性,我们将曲线的可调性 [
对于任意拓扑形状的控制网格,新的细分规则还是由两部分组成:几何点的产生和拓扑结构的建立。
(1) 几何点的产生
给定一个初始网格 Γ ( 0 ) ,经过 k 次改进的Catmull-Clark细分后得到的控制网格为 Γ ( k ) 。考虑 Γ ( k ) 上度为 n 的顶点 v ( k ) 的局部网格,它的邻域由 n 个共边顶点 e 1 ( k ) , ⋯ , e n ( k ) 和 n 个共面顶点 f 1 ( k ) , ⋯ , f n ( k ) 组成,则第 k + 1 次细分后产生的新面点、新边点和新顶点为:
新面点(F-点):用面上所有顶点的均值表示
f i ( k + 1 ) = 1 4 ( v ( k ) + f i ( k ) + e i ( k ) + e i + 1 (k) )
新边点(E-点):用相邻两面上的新面点均值的 c 倍与对应边两端点的均值的 ( 1 − c ) 倍的和来表示
e i ( k + 1 ) = v ( k ) + e i ( k ) 2 c + f i − 1 ( k + 1 ) + f i + 1 ( k + 1 ) 2 ( 1 − c )
新顶点(F-点):用对应顶点、新面点与其周围一些点的线性组合可以表示为
v ( k + 1 ) = 4 c Q n + 8 c ( 1 − c ) R n + n − 4 c ( 2 − c ) v ( k ) n
其中 Q 表示所有与旧顶点相邻的面上新面点的均值, R 表示所有交于旧顶点的边的中点的均值, n 为对应顶点的度数。同时, i = 1 , ⋯ , n ,且设 e n + 1 ( k ) = e 1 ( k ) , f n + 1 ( k ) = f 1 ( k ) 。
(2) 拓扑结构的建立
与经典Catmull-Clark的拓扑规则相同,连接每一个新面点与其周围的新边点;连接每一个新顶点与其周围的新边点。
从曲面的细分规则可以推出,给定原控制点 d i j ( i , j = 0 , ⋯ , n ) 则细分后的曲面片可表示为 P ( u , v ) = U C G C T V T ,其中 U = [ 1 u u 2 u 3 ] , V = [ 1 v v 2 v 3 ] ,相应的参数调节矩阵为
C = [ c 2 ( 1 + c ) 1 1 + c c 2 ( 1 + c ) 0 − c ( 2 − c ) 1 + c 0 c ( 2 − c ) 1 + c 0 c ( 5 − 4 c ) 2 ( 1 + c ) ( − 2 c + 3 ) ( c − 2 ) 2 ( 1 + c ) 4 c 2 − 11 c + 6 2 ( 1 + c ) c ( 2 c − 1 ) 2 ( 1 + c ) c ( c − 1 ) 1 + c ( c − 1 ) ( c − 2 ) 1 + c − ( c − 1 ) ( c − 2 ) 1 + c c ( 1 − c ) 1 + c ]
本节通过改进Charles Loop [
定义1:两曲面 P ( u , v ) 和 Q ( s , r ) 沿公共连接线 P ( t ) = Q ( t ) 具有 G 2 连续的充要条件 [
∂ i + j ∂ u i ∂ v j P ( t ) = ∂ i + j ∂ s i ∂ r j Q ¯ ( t ) , i + j = 0 , 1 , ⋯ , k .
根据上述定义可知,给定两个曲面片 P i ( u , v ) 和 P i + 1 ( u , v ) : [ 0 , 1 ] × [ 0 , 1 ] → R m ,沿公共边界 C : C ( v ) = P i ( 0 , v ) = P i + 1 ( 0 , v ) 二阶几何连续的充要条件是存在函数 { ( p i ( v ) , q i ( v ) ) , i = 1 , 2 } 使得下列表达式沿 C 成立:
∂ 2 ∂ u 2 P i = p 2 ( v ) ∂ ∂ u P i + 1 + q 2 ( v ) ∂ ∂ v P i + 1 + p 1 2 ( v ) ∂ 2 ∂ u 2 P i + 1 + 2 p 1 ( v ) q 1 ( v ) ∂ 2 ∂ u ∂ v P i + 1 + q 1 2 ( v ) ∂ 2 ∂ v 2 P i + 1 .
对于任意拓扑形状的散乱点集得到的控制网格,采用本文第1节给出的形状可调的C-C细分算法,对网格进行细分,得到的网格曲面可以表示为
P ( u , v ) = U C H C T V T
令 A = C H C T , H 为双三次系数矩阵,则第 k 个曲面片对应的系数矩阵为 A k = C k H k C k T ,相应的参数调节矩阵为
C k = [ c k 2 ( 1 + c k ) 1 1 + c k c k 2 ( 1 + c k ) 0 − c k ( 2 − c k ) 1 + c k 0 c k ( 2 − c k ) 1 + c k 0 c k ( 5 − 4 c k ) 2 ( 1 + c k ) ( − 2 c k + 3 ) ( c k − 2 ) 2 ( 1 + c k ) 4 c k 2 − 11 c k + 6 2 ( 1 + c k ) c k ( 2 c k − 1 ) 2 ( 1 + c k ) c k ( c k − 1 ) 1 + c k ( c k − 1 ) ( c k − 2 ) 1 + c k − ( c k − 1 ) ( c k − 2 ) 1 + c k c k ( 1 − c k ) 1 + c k ]
为了保持双三次样条边界,必要时可以在此基础上重新进行Catmull-Clark细分,该过程称为“混合细分”。通过“混合细分”将奇异点从正则网格中隔离出来,构造出奇异点的 n 边洞,对于正则处已经满足二阶连续,下面要做的就是如何在保证二阶几何连续的情况下填充 n 边洞并且与周围的曲面片拼接后曲面整体达到二阶连续。如图1所示。
在图1中,与奇异点直接相邻的边,称为内部边界;与奇异点间接相邻的边称为外部边界。要使最后整张曲面为 G 2 连续,要求曲面片内部边界之间的拼接是 G 2 且外部边界与Catmull-Clark曲面片之间的拼接也满足 G 2 。经过“混合细分”后,构造出奇异点的二环,如下图2所示。
对于 n 边洞的填充,本文构造了双七次B-样条曲面片进行填充,令
T i = [ ∂ P i ∂ u ∂ P i ∂ v ∂ 2 P i ∂ u 2 ∂ 2 P i ∂ u ∂ v ∂ 2 P i ∂ v 2 ∂ 3 P i ∂ u 2 ∂ v ∂ 3 P i ∂ u ∂ v 2 ∂ 4 P i ∂ u 2 ∂ v 2 ]
则
T i + 1 = [ ∂ P i + 1 ∂ u ∂ P i + 1 ∂ v ∂ 2 P i + 1 ∂ u 2 ∂ 2 P i + 1 ∂ u ∂ v ∂ 2 P i + 1 ∂ v 2 ∂ 3 P i + 1 ∂ u 2 ∂ v ∂ 3 P i + 1 ∂ u ∂ v 2 ∂ 4 P i + 1 ∂ u 2 ∂ v 2 ]
若 Θ i 为曲面片 P i 和 P i + 1 之间的参数化矩阵,则由二阶几何连续性定义可以得到
图1. 混合细分产生的n边洞
图2. 混合细分后奇异点的二环
T i = T i + 1 ⋅ Θ i
那么,具有公共顶点的 n 个曲面片 P i ( i = 0 , ⋯ , n − 1 ),相邻的曲面片之间满足几何连续和循环条件,则 n 个具有公共顶点的曲面片之间满足如下关系
T 0 = T 0 ⋅ Θ n − 1 ⋅ Θ n − 2 ⋯ Θ 1 ⋅ Θ 0
从上式推得
I = Θ n − 1 ⋅ Θ n − 2 ⋯ Θ 1 ⋅ Θ 0
要使最后整张曲面为 G 2 连续,要求曲面片内部边界之间的拼接是 G 2 且外部边界与Catmull-Clark曲面片之间的拼接也满足 G 2 。
首先,定义内部边界的相关映射为 φ n : ( u , v ) → ( x , y ) ,令
{ x = ( cos 2π n ) [ ( 1 − u ) v + sec 2π n ] y = ( sin 2π n ) [ ( 1 − u ) v + ( sec 2π n ) u v ]
r n 是以原点为中心 2π n 为单位的一个逆时针旋转变换
r n ( u , v ) = [ cos 2π n − sin 2π n sin 2π n cos 2π n ] [ u v ]
则可以得到 P i + 1 = φ n − 1 ∘ ( r n − 1 ∘ φ n ) P i 。于是,对于 n 价奇异点周围的曲面片 P 0 , P 1 , ⋯ , P n − 2 , P n − 1 有
I = ( Φ n − 1 ⋅ R n − 1 ⋅ Φ n ) n = Φ n − 1 ⋅ ( R n − 1 ) n ⋅ Φ n (1)
成立, Φ n , R n 为对应变换 ϕ n , r n 的矩阵,并且 ( R n − 1 ) n = I 。
对于带有内部边界的曲面片 P i ( 0 , t ) 和 P i + 1 ( t , 0 ) 达到二阶几何连续,则需要满足下面三个条件
P i ( 0 , t ) − P i + 1 ( t , 0 ) = 0 (2)
c n ( 1 − t ) P i + 1 u ( t , 0 ) − P i + 1 v ( t , 0 ) − c n ( t − 1 ) P i v ( 0 , t ) − P i u ( 0 , t ) = 0 (3) 2 c n 2 ( 1 − t ) ( P i + 1 v ( t , 0 ) − P i u ( 0 , t ) ) + 2 c n ( 1 − t ) ( 1 + c n ( 1 − t ) ) ( P i + 1 u v ( t , 0 ) − P i u v ( 0 , t ) ) − ( 1 + c n ( 1 − t ) ) ( P i + 1 v v ( t , 0 ) − P i u u ( 0 , t ) ) = 0 (4)
令双七次张量积曲面片 P s ( u , v ) = ∑ i = 0 7 ∑ j = 0 7 p i j s B i 7 ( u ) B j 7 ( v ) ( 0 ≤ u , v ≤ 1 ) ,则对于 n 边洞的第 i 和 i + 1 个曲面片 P i ( u , v ) 和 P i + 1 ( u , v ) 可以得到 P i ( 0 , t ) 、 P i + 1 ( t , 0 ) 、 P i u ( 0 , t ) 、 P i v ( 0 , t ) 、 P i u v ( 0 , t ) 、 P i u u ( 0 , t ) 、 P i + 1 u ( t , 0 ) 、 P i + 1 v ( t , 0 ) 、 P i+1 u v ( t , 0 ) 、 P i + 1 v v ( t , 0 ) ,将上述结果代入(2)可以得到
p 00 i = p 07 i + 1 , p 01 i = p 17 i + 1 , p 02 i = p 27 i + 1 , p 03 i = p 37 i + 1 ,
p 04 i = p 47 i + 1 , p 05 i = p 57 i + 1 , p 06 i = p 77 i + 1 , p 07 i = p 77 i + 1 .
代入(3)可得
c n ( − α 1 − 2 α 2 + 3 α 3 − 7 α 4 + 5 α 5 − 21 α 6 + 7 α 7 − α 8 ) + ( β 1 − β 2 + β 3 − β 4 + β 5 − β 6 + β 7 − β 8 ) = 0 .
c n ( 7 α 1 + 13 α 2 − 17 α 3 + 31 α 4 − 19 α 5 + 57 α 6 − 13 α 7 + α 8 ) + ( − 7 β 1 + 6 β 2 − 5 β 3 + 4 β 4 − 3 β 5 + 2 β 6 − β 7 ) = 0. c n ( − 21 α 1 − 36 α 2 + 40 α 3 − 54 α 4 + 27 α 5 − 51 α 6 + 6 α 7 ) + ( 21 β 1 − 15 β 2 + 10 β 3 − 6 β 4 + 3 β 5 − β 6 ) = 0. c n ( 35 α 1 + 55 α 2 − 50 α 3 + 46 α 4 − 17 α 5 + 15 α 6 + 6 α 7 ) + ( − 35 β 1 + 20 β 2 − 10 β 3 + 4 β 4 − β 5 ) = 0. c n ( − 35 α 1 − 50 α 2 + 35 α 3 − 19 α 4 + 4 α 5 ) + ( 35 β 1 − 15 β 2 + 5 β 3 − β 4 ) = 0. c n ( 21 α 1 + 27 α 2 − 13 α 3 + 3 α 4 ) + ( − 21 β 1 + 6 β 2 − β 3 ) = 0.
c n ( − 7 α 1 − 8 α 2 + 2 α 3 ) + ( 7 β 1 − β 2 ) = 0.
c n ( α 1 + α 2 ) − β 1 = 0.
为表示简便,在这里系数 α i ( i = 1 , 2 , ⋯ , 8 ) 表示
α 1 = − 7 p 00 i + 1 − 7 p 00 i , α 2 = 7 p 10 i + 1 + 7 p 01 i , α 3 = 21 p 20 i + 1 + 21 p 02 i , α 4 = 35 p 30 i + 1 + 35 p 03 i ,
α 5 = 35 p 40 i + 1 + 35 p 04 i , α 6 = 7 p 50 i + 1 + 7 p 05 i , α 7 = 7 p 60 i + 1 + 7 p 06 i , α 8 = 7 p 70 i + 1 + 7 p 07 i .
对于系数 β i ( i = 1 , 2 , ⋯ , 8 ) 表示
β 1 = 7 ( p 00 i + 1 − p 01 i + 1 ) + 7 ( p 10 i − p 00 i ) , β 2 = 49 ( p 10 i + 1 − p 11 i + 1 ) + 49 ( p 11 i − p 01 i ) ,
β 3 = 147 ( p 20 i + 1 − p 21 i + 1 ) + 147 ( p 12 i − p 02 i ) , β 4 = 245 ( p 30 i + 1 − p 31 i + 1 ) + 245 ( p 13 i − p 03 i ) ,
β 5 = 245 ( p 40 i + 1 − p 41 i + 1 ) + 245 ( p 14 i − p 04 i ) , β 6 = 147 ( p 50 i + 1 − p 51 i + 1 ) + 147 ( p 15 i − p 05 i ) ,
β 7 = 7 ( p 60 i + 1 − p 61 i + 1 ) + 7 ( p 16 i − p 06 i ) , β 8 = 7 ( p 70 i + 1 − p 71 i + 1 ) + 7 ( p 17 i − p 07 i ) .
以此类推,代入(4)也可以得到8个方程。因此,可以得到24个约束方程,其中含有8个独立方程自动满足循环条件,因此,实际上得到16个约束方程。
外部边界指的是在奇异点周围,不以奇异点为顶点,并且在拼接过程中与周围曲面片共有的边。在这里可以将外部边界的两个端点分为两类:第一类是与奇异点相邻的点;第二类是与奇异点相对的点。定义映射 ψ n : ( u , v ) → ( x , y ) ,其中 n 为对应奇异点的价。对于第一类点,令
q ( u , v ) = [ 1 0 0 − 1 ] [ u v ] , s ( u , v ) = [ 0 1 1 0 ] [ u v ]
对应的链式规则矩阵分别为 Q , S 为 n × n 的块对角矩阵,其中,
Q = [ 1 0 0 − 1 ⋱ 1 0 0 − 1 ] n × n , S = [ 0 1 1 0 ⋱ 0 1 1 0 ] n × n
对于第一类点有
I = ( Q ⋅ ψ n ⋅ S ⋅ ( R n − 1 ⋅ φ n ) − 1 ⋅ φ n ⋅ ψ n − 1 ) ⋅ ( Q ⋅ ψ m ⋅ S ⋅ ( R m − 1 ⋅ φ m ) − 1 ⋅ φ m ⋅ ψ m − 1 )
令 ψ n ( u , v ) = ψ n ( v , u ) ,则 S ⋅ ψ n ⋅ S = ψ n ,对于第二类点有
I = ψ k ⋅ ( S ⋅ ψ k ⋅ S ) − 1 ⋅ ψ l ⋅ ( S ⋅ ψ l ⋅ S ) − 1 ⋅ ψ m ⋅ ( S ⋅ ψ k ⋅ S ) − 1 ⋅ ψ n ⋅ ( S ⋅ ψ n ⋅ S ) − 1
由上述两个式子可以推得
y ( u , v ) = b 4 ( v ) T [ 0 0 0 0 1 4 5 c n 3 − 3 c n 2 − 15 c n + 18 12 ( c n − 2 ) ( 2 c n − 3 ) c n 2 + 2 c n − 6 12 ( c n − 2 ) 1 4 1 2 c n + 3 6 c n 2 + 3 c n − 9 9 ( c n − 2 ) 1 2 3 4 c n + 9 12 c n + 9 12 3 4 1 1 1 1 ] b 3 (u)
其中, c n = cos ( 2π n ) ,又由对称性可得 x ( u , v ) = y ( v , u ) 。
在奇异点周围可以得到 n 个“混合细分”的双三次B-样条曲面片,对于外部边界,通过运用双三次节点插入算子,将B样条转化为 n 个Bernstein形式的双三次Bézier曲面片的控制点
b k = 1 36 Q T A Q ,
其中 Q = [ 1 0 0 0 4 4 2 1 1 2 4 4 0 0 0 1 ] ,
A 为“混合细分”矩阵。
对于奇异点处的第 k 个曲面片,有
A k = [ 1 a 10 k + 2 a 11 k + 1 a 12 k + 1 a 10 k − 1 a 00 k a 10 k + 1 a 20 k + 1 a 11 k − 1 a 10 k a 11 k a 12 k a 12 k − 1 a 20 k a 20 k a 22 k ]
则Bézier曲面片的表达式
B i ( u , v ) = 1 36 b 3 ( u ) Q T [ 1 a 10 k + 2 a 11 k + 1 a 12 k + 1 a 10 k − 1 a 00 k a 10 k + 1 a 20 k + 1 a 11 k − 1 a 10 k a 11 k a 12 k a 12 k − 1 a 20 k a 21 k a 22 k ] Q ( b 3 ( v ) ) T
要使外部边界 P i ( 1 , t ) 满足二阶几何连续只需要满足下面条件即可
∂ j ∂ u j P i ( 1 , t ) = ∂ j ∂ u j ( B i ∘ ψ n ) ( 1 , t ) , j = 0 , 1 , 2.
类似于内部边界,可以推得
P i ( 1 , t ) 、 B i ( 1 , t ) 、 ∂ ∂ u P i ( 1 , t ) 、 ∂ ∂ x B i ( 1 , t ) 、 ∂ ∂ y B i ( 1 , t ) 、 ∂ 2 ∂ x 2 B i ( 1 , t ) 、 ∂ 2 ∂ x y B i ( 1 , t ) 和 ∂ 2 ∂ y 2 B i ( 1 , t ) 。同时,由已知条件可以得到
∂ ∂ u ψ n , x ( 1 , t ) = − 1 2 ( 1 − t ) 3 − 3 ( c n + 1 ) 2 t ( 1 − t ) 2 − 3 ( c n + 1 ) 2 t 2 ( 1 − t ) − 1 2 t 3
∂ ∂ u ψ n , y = − c n 2 + c n c n − 2 t ( 1 − t ) 3 + − 2 c n 2 + 33 2 c n − 27 c n − 2 t 2 ( 1 − t ) 2 − 3 ( c n + 9 ) 2 t 3 ( 1 − t )
∂ 2 ∂ u 2 ψ n , x ( 1 , t ) = − 9 ( 1 − t ) 3 − 3 ( c n + 9 ) t ( 1 − t ) 2 + 3 ( c n 2 + 3 c n − 6 ) c n − 2 t 2 ( 1 − t ) − 9 t 3
∂ 2 ∂ u 2 ψ n , y ( 1 , t ) = 2 c n 3 + 2 c n 2 ( c n − 2 ) ( 2 c n − 3 ) t ( 1 − t ) 3 − 2 c n 2 c n − 2 t 2 ( 1 − t ) 2 − 3 c n t 3 ( 1 − t )
对于外部边界 ( t , 1 ) 连续性条件,每个方程的化简计算后次数不超过7次,含有8个系数,由对应系数相等,可以得到24个方程,同理,对于外部边界 ( 1 , t ) 也可以得到24个方程。对于n价的奇异点则产生48n个约束方程。对于曲面片 P i ( 0 , t ) 和 P i + 1 ( t , 0 ) 的内部边界,由连续性条件可以得到24个约束方程,但是当 t = 1 时, P i ( 0 , 1 ) 和 P i + 1 ( 1 , 0 ) 所确定的9个二阶混合偏导自动满足约束条件,与外部边界的二阶连续性条件重复,因此,对于 n 价的奇异点则产生16n个约束方程。这样,一共得到了64n个方程,对于价为 n 的奇异点,双七次曲面环恰好有64n个未知数,因此可以求得该方程解即所求的控制顶点。
对于简单的公式,可以直接以文本方式输入;对于复杂的公式,可以考虑使用公式编辑器,或者将公式制作成图片后插入文中。编辑公式的过程中要特别注意减号与连字符的区别,前者较长,后者较短。令双七次曲面片控制顶点的系数矩阵为 C ,则对应的第 i 个曲面片的系数矩阵为 p i ,为了保证曲面片整体的二阶连续性,则需要满足如下条件
C P = W A
其中, C 为循环矩阵, P 为双七次曲面片控制顶点,矩阵 A 对应图2二环中第 i 个曲面片的样条顶点。对于循环矩阵 [
为了使二次能量函数 [
对于第 i 个块方程,有
{ ∑ i = 0 n − 1 c i T λ i + ∑ i = 0 n − 1 E p i = 0 ∑ i = 0 n − 1 c i p i = ∑ i = 0 n − 1 ω i a i
其中,对于第 i 个方程,只有 p i 的系数为 E ,其余的均为0。
然后采用傅里叶变换 [
Euler系数 C n k l = cos 2 π k l n , S n k l = sin 2 π k l n 则有
ρ ^ j = 1 n ∑ k = 0 n − 1 τ k ρ k (5)
其中, τ k = c o s 2 π k n − − 1 s i n 2 π k n 。
将 p i , c i , λ i , ω i , a i 代入(5)式即可得到 p ^ j , c ^ j , λ ^ j , ω ^ j , a ^ j 。
于是上式可转化为 { E p ^ j + c ^ j H λ ^ j = 0 c ^ j p ^ j = w ^ j a ^ j 解得 p ^ j = w ^ j a ^ j c ^ j (其中 j = 0 , 1 , ⋯ , n − 1 ),求得 p ^ j 后再利用傅里叶逆变换(IDFT),将 p ^ j , c ^ j , λ ^ j , ω ^ j , a ^ j 代入(5)式即可反求出相应的双七次控制顶点 p i 。
下面是运用本文的算法对某品牌汽车进行样条重建的实例,对工业设计中汽车车身出现的5-边洞和3-边洞进行局部填充,图3(a)和图4(a)是汽车局部网格图;图3(b)和图4(b)是网格的控制顶点图,为了清楚进行了一些旋转;图3(c)和图4(c)是奇异点附近的网格填充图。整个填充过程如图3和图4所示。
下面是采用本节的方法对汽车局部模型进行曲面造型的结果。该汽车局部散乱点为1452个,“混合细分”后的四边形网格有323个,图中分给出了10个奇异点多变行动填充。图5(a)为“混合细分”得到的四边形控制网格,图5(b)为奇异点的二环结构,图5(c)经过双七次样条拟合后,奇异点周围各曲面片之间满足 G 2 连续,具体过程如图5所示。
图3. 3-边洞的填充
图4. 5-边洞的填充
图5. G2连续曲面造型
本文致力于细分曲面造型中奇异点处的 G 2 连续性研究,给出了奇异点处的 G 2 算法,主要给出了细分曲面中奇异点处的 G 2 重建算法,主要分为三个部分:第一,给出了形状可调的C-C细分算法;第二,具体给出了奇异点处的 G 2 重建方法;第三,给出了奇异点处3边洞和5边洞的填充结果。增加了工业设计中细分曲面的可调性,逐步拓宽了应用范围。
国家自然科学基金(51175248/E050603);南京航空航天大学基本科研业务费资助(NZ2013201)。
唐月红,李 森,刘 浩,古玉屏. 细分曲面奇异点处的光滑过渡 Smooth Connection near Singular Points on Subdivision Surfaces[J]. 应用数学进展, 2017, 06(09): 1163-1173. http://dx.doi.org/10.12677/AAM.2017.69141