文章: Developable B-spline surface design from control rulings
一、 介绍部分:
文章大意是给定一组线段,并且定义这组线段为要设计的目标可展曲面的控制直母线(control ruling),并且希望这些直母线尽可能多的落在结果曲面上。
方法: 文章中作者是固定两条边界直母线,使用中间部分的直母线控制目标曲面的形状,直接在设计空间中工作,更加直观(没看太多论文,没什么感觉)。本文作者的主要贡献在以下几点:
- 通过指定一组直母线直接在设计空间中工作,更加直观;
- 与现有的根据其边界曲线对可展曲面进行建模的方法不同, 文中的方法为设计人员提 供了对曲面边界直母线(即,第一条和最后一条直母线)的显式控制;
- 通过将边界控制直母线视为硬约束,将内部控制直母线视为软约束,文中的方法能够设计具有高度可展的B-样条曲面。
二、 通过控制直母线的可展曲面设计(第三节)
2.1 问题描述:
给定空间中有序线段的集合 L i = ( Q i , P i ) , i = 0 , … , K L_i = (Q_i,P_i),i = 0,…,K Li=(Qi,Pi),i=0,…,K,其中 Q i , P i Q_i ,P_i Qi,Pi是 L i L_i Li的两个端点,目的是构造一个可展b样条曲面S,定义为
S ( t , s ) = C 0 ( t ) ( 1 − s ) + C 1 ( t ) s , t , s ∈ [ 0 , 1 ] (1) S(t,s) = C_0(t)(1−s) + C_1(t)s, t,s ∈ [0,1] \tag{1} S(t,s)=C0(t)(1−s)+C1(t)s,t,s∈[0,1](1)
其中 C 0 ( t ) 和 C 1 ( t ) C_0(t)和C_1(t) C0(t)和C1(t)是有固定结点(线段端点)的B—样条曲线。S需要让线段 L i , i = 0 , . . . , k L_i, i = 0,... , k Li,i=0,...,k 尽可能多地在曲面S里,并且进一步要求第一条线段和最后一条线段是S的边界直母线,用 S ( 0 , S ) = L 0 和 S ( 1 , S ) = L K S(0, S) = L_0 和 S(1, S) = L_K S(0,S)=L0和S(1,S)=LK 表示。把给定的这组直线段称为目标曲面的直母线。
将S拟合到直母线 L i , i = 0 , . . . , K L_i,i = 0,...,K Li,i=0,...,K可以通过将曲线 C 0 ( t ) 和 C 1 ( t ) C_0(t)和C_1(t) C0(t)和C1(t)拟合到直母线的相应端点来解决,即满足 C 0 ( t i ) = Q i , C 1 ( t i ) = P i , i = 0 , . . . , k , C_0(t_i)= Q_i ,C_1(t_i)= P_i,i = 0,...,k, C0(ti)=Qi,C1(ti)=Pi,i=0,...,k,其中 t i t_i ti是输入直母线的参数化。显然,如果我们有 C 0 ( t i ) = Q i 和 C 1 ( t i ) = P i , C_0(t_i)= Q_i和C_1(t_i)= P_i, C0(ti)=Qi和C1(ti)=Pi,则直母线 S ( t i , s ) S(t_i,s) S(ti,s)与连接 Q i 和 P i Q_i和P_i Qi和Pi的输入控制线相同,即 Q i P i ‾ \overline{Q_iP_i} QiPi. 因此,可展曲面生成问题可以转化为曲线拟合问题,即寻找两条b样条曲线 C 0 ( t ) , C 1 ( t ) C_0(t) , C_1(t) C0(t),C1(t)拟合数据点 Q i 和 P i Q_i 和 P_i Qi和Pi, i = 0 , . . . , K i = 0,...,K i=0,...,K . 与一般的曲线拟合问题不同,曲线 C 0 ( t ) 和 C 1 ( t ) C_0(t) 和C_1(t) C0(t)和C1(t)在可展曲面建模中需要满足以下约束条件:
- 约束1:数据点 Q i 和 P i Q_i和P_i Qi和Pi对应于相同的参数值 t i t_i ti;
- 约束2:由式(1)定义的以 C 0 ( t ) 和 C 1 ( t ) C_0(t) 和C_1(t) C0(t)和C1(t)为界的曲面S具有高度的可展性。
2.1 算法
我们将上述问题转化为一个优化问题,并通过最小化一个评估曲面可展性的目标函数,得到结果曲线 C 0 ( t ) , C 1 ( t ) C_0(t) , C_1(t) C0(t),C1(t) 和可展曲面 S. 为了建立一个函数来评估可展性和其他有用的表面性质,我们考虑以下问题.
2.1.1 可展性的质数-对偶公式(A prime-dual formulation of developability. )
(不知道翻译的对不对)
以
C
0
(
t
)
和
C
1
(
t
)
C_0(t) 和 C_1(t)
C0(t)和C1(t)为界的曲面
S
(
E
q
.
(
1
)
)
S (Eq.(1))
S(Eq.(1))为可展曲面,要求S满足以下约束
其中
N
(
t
)
N(t)
N(t)是表示
C
0
′
(
t
)
,
C
1
′
(
t
)
和
(
C
0
(
t
)
−
C
1
(
t
)
)
C_0^{'}(t) ,C_1^{'}(t)和 (C_0(t)-C_1(t))
C0′(t),C1′(t)和(C0(t)−C1(t))构成的平面的法向量场。利用法向量函数综合了可展曲面的质数-对偶形式,使优化结果稳定收敛(不理解)。我们引入以下术语来评价曲面的可展性
t
k
t_k
tk是采样参数,
N
k
是
t
k
N_k是t_k
Nk是tk 对应的法向量,也是优化中的变量,另外还有
C
0
(
t
)
和
C
1
(
t
)
C_0(t) 和 C_1(t)
C0(t)和C1(t)的内部控制点。
2.1.2 曲面正则化
优化中的变量数是表面采样数
(
M
+
1
)
与
S
(
u
,
v
)
(M + 1)与S(u,v)
(M+1)与S(u,v)的变量控制点数之和。由于优化过程中变量较多,可能会导致优化过程不稳定,甚至在某些情况下求解效果不理想, 解决这一问题的一种有效方法是引入正则化项来稳定曲面的优化过程 。我们介绍下面的形状控制术语
其中
F
E
n
e
r
g
y
C
0
和
F
E
n
e
r
g
y
C
1
F_{EnergyC_0}和F_{EnergyC_1}
FEnergyC0和FEnergyC1 分别控制
C
0
(
t
)
和
C
1
(
t
)
C_0(t) 和 C_1(t)
C0(t)和C1(t) 的光滑程度,
F
W
i
d
t
h
F_{Width}
FWidth控制曲面的宽度变化。文中实验表明,在这些正则化条件下,优化更稳定,得到的曲面的形状优于那些没有正则化的曲面。
2.1.3 通过控制直母线进行内部控制(Interior control by control rulings)
为了控制曲面的内部形状,我们考虑了内部控制直母线来控制曲面形状,并定义了下面的紧密性术语
t
i
是
与
P
i
和
Q
i
t_i是与P_i和Q_i
ti是与Pi和Qi对应的参数,是不可知的变量,注意两曲线的端点控制点是固定的,在优化中不作为变量处理,以确认硬插值到指定的边界直母线。这将可展曲面拟合到一组直母线的问题等价于将两条曲线拟合到数据点
Q
i
和
P
i
,
i
=
0
,
1...
,
K
Q_i和P_i , i= 0,1...,K
Qi和Pi,i=0,1...,K,且具有某些约束。
2.1.3 具体算法
通过迭代过程求解 C 0 ( t ) 和 C 1 ( t ) C_0(t) 和 C_1(t) C0(t)和C1(t) 及参数 ,该算法的主要步骤描述如下:
- Step1. 参数化以使数据点 Q i , i = 0 , . . . , K 和 P i , i = 0 , . . . , K Q_i,i = 0,...,K和P_i,i = 0,...,K Qi,i=0,...,K和Pi,i=0,...,K分别具有相同的参数值 t 0 , . . . , t K t_0,...,t_K t0,...,tK . 我们对数据点 Q i , i = 0 , . . . , K 和 P i , i = 0 , . . . , K Q_i,i = 0,...,K和P_i,i = 0,...,K Qi,i=0,...,K和Pi,i=0,...,K应用向心参数化(??),并获得参数值 u 0 , . . . , u K 和 v 0 , . . . , v K u_0,...,u_K和v_0,...,v_K u0,...,uK和v0,...,vK, 使用 t i = 1 / 2 ( u i + v i ) t_i = 1/2 (u_i + v_i) ti=1/2(ui+vi)作为 Q i 和 P i Q_i和P_i Qi和Pi 的参数值。
- Step2. 构造插值b样条曲线. 一般情况下,由式(1)定义的受 C ~ 0 ( t ) 和 C ~ 1 ( t ) \tilde{C} _0(t) 和 \tilde{C} _1(t) C~0(t)和C~1(t)约束的曲面S不是可展曲面,需要通过放宽曲线插值的约束来提高其可展性.
- Step3. **求解最小化问题
F
1
→
m
i
n
,
F_1→min,
F1→min, **其中
F
1
F_1
F1定义在公式(7)中,更新前后的曲线用相同的符号。
为了提供 迭代过程的终止准则,文中评估了由更新曲线 C 0 ( t ) 和 C 1 ( t ) C_0(t) 和 C_1(t) C0(t)和C1(t) 所界定的曲面的可展性。如果满足可展性要求,或者该迭代对可展性的改进是可忽略的,则可以停止该算法;否则转到步骤4。 - Step4. 更新数据点的参数值。对于数据点 Q j Q_j Qj,得到一个参数值 u j u_j uj,它是 C 0 ( t ) C_0(t) C0(t)上最近的点(垂足)的参数;同样的,对于数据点 P j P_j Pj,得到一个参数值 v j v_j vj,它是 C 1 ( t ) C_1(t) C1(t)上最近的点(垂足)的参数.脚点计算采用了类似牛顿迭代的方法,然后将值 t j = 1 / 2 ( u j + v j ) t_j = 1/2 (u_j + v_j) tj=1/2(uj+vj) 用于 Q j 和 P j Q_j和P_j Qj和Pj 的更新。转到第三步。
三、 设计控制直母线
在这项工作中提出的算法依赖于作为曲面控制直母线的一组线段。基本上,线条可以由设计师在空间中自由指定。然而,在空间中任意的线段,控制线和最终可展曲面之间的距离可能很大,这在交互设计过程中是不希望看到的。
已经表明,平面四边形条带可以看作是光滑可展表面的离散化[1],因此,在控制直母线的设计过程中,我们要求每对相邻的直母线都是共面的。确切地说,如果给定的直母线用
L
i
=
(
P
i
,
Q
i
)
,
i
=
0
,
…
,
K
Li = (P_i,Q_i),i = 0,…,K
Li=(Pi,Qi),i=0,…,K,我们要求由两个相邻规则
L
i
L
i
+
1
L_i L_{i+1}
LiLi+1约束的四边形
P
i
Q
i
Q
i
+
1
P
i
+
1
P_iQ_iQ_{i+1}P_{i+1}
PiQiQi+1Pi+1是共面的。
实验证明基于共面线得到的曲面的可展性比基于非平面线得到的曲面的可展性要好一个数量级,对控制直母线的逼近质量甚至更好。文中提出以下的控制直母线设计算法:
- 第i个控制直母线 L i L _i Li确定,第(i+1)个直母线应该被定义在包含 L i L _i Li的平面上
- 当有了一个序列的线段,就很容易调整每个线段的长度,使线段的端点序列形成两条光滑的曲线。
这种方法直接在设计空间中工作,比在对偶空间工作具有更多的几何直观。
算法2具体给出过程
四、 具有固定边界的可展曲面设计
在某些应用中,可展曲面的其中一条边界曲线是指定并固定的。另外给定一组线段作为直母线,需要构造另一边界曲线来得到可展曲面S。
往后有点难,之后看情况编辑吧
科研路,果然难走啊!
注1:正则化
-
定义:
L0正则化的值是模型参数中非零参数的个数。
L1正则化表示各个参数绝对值之和。
L2正则化标识各个参数的平方的和的开方值。 -
实现正则化的优点:
一个好处是可以简化模型,避免过拟合。因为一个模型中真正重要的参数可能并不多,如果考虑所有的参数起作用,那么可以对训练数据可以预测的很好,但是对测试数据表现性能极差。另一个好处是参数变少可以使整个模型获得更好的可解释性。
参考文献
[1] . Y. Liu, H. Pottmann, J. Wallner, Y.-L. Yang, W. Wang, Geometric modeling with conical meshes and developable surfaces. ACM Trans. Graph., 2006, 25: 681-689.
未完待续…