Advances in Applied Mathematics
Vol.06 No.09(2017), Article ID:23137,11 pages
10.12677/AAM.2017.69141

Smooth Connection near Singular Points on Subdivision Surfaces

Yuehong Tang1, Sen Li1, Hao Liu2, Yuping Gu1

1Department of Mathematics, College of Science, Nanjing University Aeronautics and Astronautics, Nanjing Jiangsu

2Department of Mechanical and Engineering, College of Mechanical and Electrical Engineering, Nanjing University of Aeronautics and Astronautics, Nanjing Jiangsu

Received: Nov. 30th, 2017; accepted: Dec. 15th, 2017; published: Dec. 22nd, 2017

ABSTRACT

This paper discusses G2 smooth connection near singular points on subdivision surfaces. A shape adjustable Catmull-Clark subdivision algorithm is present by introducing subdivision shape adjustment 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 G2 surface 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 G2 continuous 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.

Keywords:Subdivision Surfaces, Geometric Continuity, Singular Points

细分曲面奇异点处的光滑过渡

唐月红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 Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY).

http://creativecommons.org/licenses/by/4.0/

1. 引言

细分曲面与NURBS曲面是现代工业的两大造型技术,细分曲面克服了NURBS曲面处理任意拓扑结构存在的困难,成为有效的建模手段之一。在曲面造型技术中奇异点的出现始终是无法避免的,由于奇异点的存在,最终得到的曲面会出现“褶皱”等现象,严重影响曲面的质量,尤其是在工业产品的设计中,如果奇异点的处理不恰当,会使产品无法投入使用,因此,奇异点的处理技术成为曲面造型的关键点。传统的细分方法的奇异点处仅仅满足 G 1 连续,为了构造出 G 2 连续的曲面,人们进行了很多的探索。2009年,剑桥大学的Thomas J. Cashman [1] 等人采用任意次数的B样条曲线曲面给出了一种对称的非均匀细分算法,并且将该算法推广到曲面,得到了一种奇数次的对称非均匀细分算法,但是该算法在奇异点处没有具体说明,而且只针对奇数阶的情况;后来,Thomas J. Cashman和Malcolm A. Sabin等人 [2] 设计了新的细分格式来处理非均匀细分算法中的奇异点,但是结果并不理想,具有较差的局部性;刘浩 [3] 等人利用流行方法和细分方法构造出 G 2 连续的自由型曲面,实现了流行曲面和Catmull-Clark细分曲面的融合,然而,在构造 n 边域曲面片时没有考虑奇异点的位置信息。本文在Charles Loop [4] 等人研究的基础上,进行了以下改进:(1) 引入了一种形状可调的Catmull-Clark细分方法,将该方法作为C-C细分的前置方法,对曲面进行“混合细分”,使最终的拟合曲面具有一定的可调性;(2) 采用循环映射对奇异点周围的曲面片进行处理时,得到的循环矩阵也含有参数 c ,使每一个曲面片都具有可调性;(3) 给出了双七次Bézier控制点的具体位置以及循环方程组的显式解,得到每一个曲面片的显示表达式,并给出了奇异点处的 G 2 填充结果。

2. 一种形状可调的C-C细分曲面

经典的Catmull-Clark细分基于双三次均匀B-样条,在给定初始控制网格的情况下,生成的结果曲面也就唯一确定,不具有可调性。而在实际应用中,往往大多时候生成的结果曲面不能直接满足要求,需要进行一定的调整。因此,为了增强曲面设计的灵活性和可调性,我们将曲线的可调性 [5] 推广到曲面的可调性,重新设计几何规则和拓扑规则。

对于任意拓扑形状的控制网格,新的细分规则还是由两部分组成:几何点的产生和拓扑结构的建立。

(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 ]

3. 细分曲面奇异点处的G2连续性

本节通过改进Charles Loop [4] 的理论给出了含有奇异点的 G 2 重建方法。首先,对初始控制网格进行“混合细分”,即先采用形状可调的C-C细分方法进行细分然后再用经典的C-C细分,目的是为了保证曲面片具有B样条边界;其次,在“混合细分”的基础上,以奇异点处的2-环作为控制网格,采用循环映射的方法得到了二阶连续的约束方程组;最后,利用循环矩阵和能量函数优化方法给出了 G 2 填充 n 边洞时,Bézier控制点的显式解,不仅使奇异点周围曲面片之间满足 G 2 ,并且和Catmull-Clark细分曲面实现 G 2 拼接,得到整体 G 2 连续的曲面。

3.1. 二阶几何连续条件

定义1:两曲面 P ( u , v ) Q ( s , r ) 沿公共连接线 P ( t ) = Q ( t ) 具有 G 2 连续的充要条件 [6] 是两曲面之一可以重新参数化,以至于它们沿公共连接线为 C k 连续的。如 Q ( s , r ) 重新参数化为 Q ¯ ( s ¯ , r ¯ ) ,使得

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 .

3.2. 初始控制网格的“混合细分”

对于任意拓扑形状的散乱点集得到的控制网格,采用本文第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 之间的参数化矩阵,则由二阶几何连续性定义可以得到

Figure 1. N-sided hole formed by mingle subdivision

图1. 混合细分产生的n边洞

Figure 2. 2-ring around singular vertex on mesh

图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

3.2.1.内部边界的连续性

首先,定义内部边界的相关映射为 φ n : ( u , v ) ( x , y ) ,令

{ x = ( cos n ) [ ( 1 u ) v + sec n ] y = ( sin n ) [ ( 1 u ) v + ( sec n ) u v ]

r n 是以原点为中心 n 为单位的一个逆时针旋转变换

r n ( u , v ) = [ cos n sin n sin n cos 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个约束方程。

3.2.2. 外部边界的连续性

外部边界指的是在奇异点周围,不以奇异点为顶点,并且在拼接过程中与周围曲面片共有的边。在这里可以将外部边界的两个端点分为两类:第一类是与奇异点相邻的点;第二类是与奇异点相对的点。定义映射 ψ 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 ( 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个未知数,因此可以求得该方程解即所求的控制顶点。

3.3. Bézier控制点的求解

对于简单的公式,可以直接以文本方式输入;对于复杂的公式,可以考虑使用公式编辑器,或者将公式制作成图片后插入文中。编辑公式的过程中要特别注意减号与连字符的区别,前者较长,后者较短。令双七次曲面片控制顶点的系数矩阵为 C ,则对应的第 i 个曲面片的系数矩阵为 p i ,为了保证曲面片整体的二阶连续性,则需要满足如下条件

C P = W A

其中, C 为循环矩阵, P 为双七次曲面片控制顶点,矩阵 A 对应图2二环中第 i 个曲面片的样条顶点。对于循环矩阵 [7] C = b c i r c ( c 0 , c 1 , , c n 1 ) ,它的全部特征根为 λ i = j = 0 n c j ω i j ,其中 ω j = e i 2 π n + 1 j ,并且 C 相似于对角阵 d i a g ( λ 0 , , λ n 1 )

为了使二次能量函数 [8] 最小,接下来采用Lagrange乘子法 [9] ,可将约束条件转化为下列形式

{ [ E c 0 T c 0 0 ] [ p 0 λ 0 ] + [ 0 0 c 1 0 ] [ p 1 λ 1 ] + + [ 0 c 1 T 0 0 ] [ p n 1 λ n 1 ] = [ 0 ω 0 ] a 0 + [ 0 ω 1 ] a 1 + + [ 0 ω n 1 ] a n 1 [ 0 c 1 T 0 0 ] [ p 0 λ 0 ] + [ E c 0 T c 0 0 ] [ p 1 λ 1 ] + + [ 0 0 0 0 ] [ p n 1 λ n 1 ] = [ 0 ω n 1 ] a 0 + [ 0 ω 0 ] a 1 + + [ 0 ω n 2 ] a n 1 [ 0 0 c 1 0 ] [ p 0 λ 0 ] + [ 0 0 0 0 ] [ p 1 λ 1 ] + + [ 0 c 1 T 0 0 ] [ p n 2 λ n 2 ] + [ E c 0 T c 0 0 ] [ p n 1 λ n 1 ] = [ 0 ω 1 ] a 0 + [ 0 ω 2 ] a 1 + + [ 0 ω 0 ] a n 1

对于第 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。

然后采用傅里叶变换 [10] (DFT),令 d ^ l = 1 n k = 0 n 1 E ¯ k l d k ,其中, k , l = 0 , 1 , , n 1 E ¯ n k l = C n k l 1 S n k l

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

4. 曲面造型结果

下面是运用本文的算法对某品牌汽车进行样条重建的实例,对工业设计中汽车车身出现的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所示。

(a)3价奇异点局部网格 (b)3奇异点的控制顶点 (c)3价奇异点的拟合

Figure 3. 3-sided hole filling

图3. 3-边洞的填充

(a)5价奇异点局部网格 (b)5奇异点的控制顶点 (c)5价奇异点的拟合

Figure 4. 5-sided hole filling

图4. 5-边洞的填充

(a) 进行“混合细分” (b) 对n边洞进行填充 (c) G2连续曲面

Figure 5. Surface modeling with G2 continuity

图5. G2连续曲面造型

5. 小结

本文致力于细分曲面造型中奇异点处的 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

参考文献 (References)

  1. 1. Cashman, T.J. (2010) NURBS-Compatible Subdivision Surfaces. University of Cambridge Compute Laboratory, 773-873.

  2. 2. Cashman, T.J., Dodgson, N.A. and Sabin, M.A. (2009) Selective Knot Insertion for Symmetric, Non-Uniform, Refine and Smooth B-Splines Subdivision. Computer Aided Geometric Design, 26, 472.
    https://doi.org/10.1016/j.cagd.2008.11.002

  3. 3. 刘浩, 廖文和. 用C-C细分方法和流行方法构造G2连续的自由型曲面[J]. 计算机辅助设计与图形学学报, 2005, 17(4): 644-649.

  4. 4. Loop, C. (2004) Second Order Smoothness over Extraordinary Vertices. Proceedings of the 2004 Eurographics/ACM Siggraph Symposium on Geometry Processing, 71, 165- 174.
    https://doi.org/10.1145/1057432.1057454

  5. 5. 王卫民, 罗国明, 张纪文, 等. 一种可调的Catmull-Clark细分曲面[J]. 工程图学学报, 2002, 23(3): 115-121.

  6. 6. 王国谨, 汪国昭, 郑建民. 计算机辅助几何设计[M]. 北京: 高等教育出版社; 海德堡: 施普林格出版社, 2001.

  7. 7. 邓群毅. 关于循环矩阵的推广及应用[D]: [博士学位论文]. 宁波: 宁波大学, 2012.

  8. 8. Eck, M. and Hoop, H. (1996) Automatic Reconstruction of B-Spline Surfaces of Arbitrary Topological Type. Computer Graphics, 30, 325-334.
    https://doi.org/10.1145/237170.237271

  9. 9. Yong, J.-H. and Cheng, F.H. (2005) Adaptive Subdivision of Cat-mull-Clark Subdivision Surfaces. Computer-Aided Design & Applications, 2, 253-261.
    https://doi.org/10.1080/16864360.2005.10738373

  10. 10. Li, W.-X., Zhang, D. and Xu, Z.-Q. (2002) Palmprint Recognition Based on Fourier Transform. Journal of Software, 13, 879-886.

期刊菜单