最优单元角度算法研究
网格
一, 四边形网格
给定一个由
- N 个节点 {Vi}Ni=1 和
- NT 个单元 {τi:=(Vk,Vj,Vm,Vn)|Vk,Vj,Vm,Vn∈V}NTi=1
组成的四边形网格 T.
- 假设:
-
- 每个单元的四个顶点按逆时针方向排列
- T 是一个连通图
- 问题:
- 每个单元的四个顶点对应的角度为多少时, 四边形网格 T 的单元形状最接近正方形?
设 A1,A2,A3,A4 是四个长度为 NT 的列向量, 其中 Ai 的第 j 个分量为第 j 个单元第 i 个顶点对应的角度值.
设 I1,I2,I3,I4 是四个长度为 NT 的列向量, 其中 Ii 的第 j 个分量为第 j 个单元的第 i 个顶点对应的理想角度值.
建立如下极小化模型:
min∑i=14(Ai−Ii)T(Ai−Ii)
其中 Ai,i=1,2,3,4, 满足如下条件:
(ENTENTENTENT)⎛⎝⎜⎜⎜A1A2A3A4⎞⎠⎟⎟⎟(C1N×NTC2N×NTC3N×NTC4N×NT)⎛⎝⎜⎜⎜A1A2A3A4⎞⎠⎟⎟⎟==BM
其中
- ENT: NT 阶单位矩阵;
- CkN×NT:
CkN×NT(i,j)={1,0,第 i 个节点是第 j 个单元的第 k 个顶点,其它;
- CkN×NT的每一列有且只有一个1, 其余全为0.
- B: 长度为NT的列向量, B(i)为第i个单元四个角的内角和, 这里都为360度;
- M: 长度为N的列向量, M(i) 为第 i 个节点周围的角度和.
引入拉格郞日乘子 Λ1,Λ2, 构造如下拉格郞日函数:
=F(A1,A2,A3,A4,Λ1,Λ2)∑i=14(Ai−Ii)T(Ai−Ii)+ΛT1{(ENTENTENTENT)⎛⎝⎜⎜⎜A1A2A3A4⎞⎠⎟⎟⎟−B}+Λ2{(C1N×NTC2N×NTC3N×NTC4N×NT)⎛⎝⎜⎜⎜A1A2A3A4⎞⎠⎟⎟⎟−M}
求 F(A1,A2,A3,A4,Λ1,Λ2)的驻点, 可得如下方程:
⎛⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜2ENT000ENTC1N×NT02ENT00ENTC2N×NT002ENT0ENTC3N×NT0002ENTENTC4N×NTENTENTENTENT00(C1N×NT)T(C2N×NT)T(C3N×NT)T(C4N×NT)T00⎞⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎛⎝⎜⎜⎜⎜⎜⎜⎜A1A2A2A3Λ1Λ2⎞⎠⎟⎟⎟⎟⎟⎟⎟=⎛⎝⎜⎜⎜⎜⎜⎜⎜2I12I22I32I4BM⎞⎠⎟⎟⎟⎟⎟⎟⎟
下面用块消元法,化简上述代数系统的增广矩阵.
⎛⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜2ENT0000C1N×NT02ENT000C2N×NT002ENT00C3N×NT0002ENT0C4N×NTENTENTENTENT−2ENT0(C1N×NT)T(C2N×NT)T(C3N×NT)T(C4N×NT)T−12(∑k=14CkN×NT)T02I12I22I32I4B−∑k=14IkM⎞⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟
⎛⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜ENT000000ENT000000ENT000000ENT0012ENT12ENT12ENT12ENTENT−12∑i=14CiN×NT12(C1N×NT)T12(C2N×NT)T12(C3N×NT)T12(C4N×NT)T14(∑k=14CkN×NT)T−12∑k=14CkN×NT(CkN×NT)TI1I2I3I412(∑k=14Ik−B)M−∑k=14CkN×NTIk⎞⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟
⎛⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜ENT000000ENT000000ENT000000ENT0012ENT12ENT12ENT12ENTENT012(C1N×NT)T12(C2N×NT)T12(C3N×NT)T12(C4N×NT)T14(∑k=14CkN×NT)TGI1I2I3I412(∑k=14Ik−B)J⎞⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟
其中
GJ=(∑k=14CkN×NT)(∑k=14CkN×NT)T−4∑k=14CkN×NT(CkN×NT)T=8(M−∑k=14CkN×NTIk)+2(∑k=14Ik−B)
其中, ∑4k=1CkN×NTIk 表示每个节点处的理想角度之和,它和 M 相等,所以
J=2(∑k=14Ik−B)
下面分析 G, 因为两个不同的节点不可能是同一个单元的第 k 个顶点的, 所以 CkN×NT 任意两行正交,则
Dk=CkN×NT(CkN×NT)T
是一个对角矩阵, Dk(i,i)是第k个顶点为第i个节点的单元的个数,可得对角矩阵
D=∑k=14Dk
其中 D(i,i) 为第 i 个节点的邻接单元个数。
记 P=∑4k=1CkN×NT, 则
P(i,j)={1, 第 i 个节点是第 j个单元的顶点;0,否则.
所以 P 为节点和单元的邻接矩阵. 记 Q=PPT,则
Q(i,j)=⎧⎩⎨⎪⎪⎪⎪邻接单元的个数,i=j;2,(i,j) 是一条内部边;1,i 和 j 在同一个单元内但不相邻或者 (i,j) 是一条边界边;0, 其它.
则 −G=4D−Q , 是四边形网格的 Laplacian 矩阵. 从图的理论出发, 假设我们的网格为连通图,那么 G 有且只有一个 0 特征值。
由以上分析,可得如下结论:
1. 矩阵 A 的秩为 6NT+N−1.
2. 只需求解一个 N×N 问题, 即可快速求解该离散系统。
二, 三角形网格
给定一个由
- N 个节点 {Vi}Ni=1 和
- NT 个单元 {τi:=(Vk,Vj,Vm)|Vk,Vj,Vm∈V}NTi=1
组成的三角形形网格 T.
设 A1,A2,A3 是三个个长度为 NT 的列向量, 其中 Ai 的第 j 个分量为第 j 个单元第 i 个顶点对应的角度值.
设 I1,I2,I3 是三个长度为 NT 的列向量, 其中 Ii 的第 j 个分量为第 j 个单元的第 i 个顶点对应的理想角度值.
建立如下极小化模型:
min∑i=13(Ai−Ii)T(Ai−Ii)
其中 Ai,i=1,2,3, 满足如下条件:
(ENTENTENT)⎛⎝A1A2A3⎞⎠(C1N×NTC2N×NTC3N×NT)⎛⎝A1A2A3⎞⎠==BM
其中
- ENT: NT 阶单位矩阵;
- CkN×NT:
CkN×NT(i,j)={1,0,第 i 个节点是第 j 个单元的第 k 个顶点,其它;
- CkN×NT的每一列有且只有一个1, 其余全为0.
- B: 长度为NT的列向量, B(i)为第i个三角形单元三个角的内角和, 这里都为360度;
- M: 长度为N的列向量, M(i) 为第 i 个节点周围的角度和.
引入拉格郞日乘子 Λ1,Λ2, 构造如下拉格郞日函数:
=F(A1,A2,A3,Λ1,Λ2)∑i=13(Ai−Ii)T(Ai−Ii)+ΛT1{(ENTENTENT)⎛⎝A1A2A3⎞⎠−B}+Λ2{(C1N×NTC2N×NTC3N×NT)⎛⎝A1A2A3⎞⎠−M}
求 F(A1,A2,A3,Λ1,Λ2)的驻点, 可得如下方程:
⎛⎝⎜⎜⎜⎜⎜⎜⎜2ENT00ENTC1N×NT02ENT0ENTC2N×NT002ENTENTC3N×NTENTENTENT00(C1N×NT)T(C2N×NT)T(C3N×NT)T00⎞⎠⎟⎟⎟⎟⎟⎟⎟⎛⎝⎜⎜⎜⎜⎜A1A2A3Λ1Λ2⎞⎠⎟⎟⎟⎟⎟=⎛⎝⎜⎜⎜⎜⎜2I12I22I3BM⎞⎠⎟⎟⎟⎟⎟
下面用块消元法,化简上述代数系统的增广矩阵.
⎛⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜2ENT000C1N×NT02ENT00C2N×NT002ENT0C3N×NTENTENTENT−32ENT0(C1N×NT)T(C2N×NT)T(C3N×NT)T−12(∑k=13CkN×NT)T02I12I22I3B−∑k=13IkM⎞⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟
⎛⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜ENT00000ENT00000ENT0012ENT12ENT12ENTENT−12∑i=13CiN×NT12(C1N×NT)T12(C2N×NT)T12(C3N×NT)T13(∑k=13CkN×NT)T−12∑k=13CkN×NT(CkN×NT)TI1I2I323(∑k=13Ik−B)M−∑k=13CkN×NTIk⎞⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟
⎛⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜ENT00000ENT00000ENT0012ENT12ENT12ENTENT012(C1N×NT)T12(C2N×NT)T12(C3N×NT)T13(∑k=13CkN×NT)TGI1I2I323(∑k=13Ik−B)J⎞⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟
其中
GJ=(∑k=13CkN×NT)(∑k=13CkN×NT)T−3∑k=14CkN×NT(CkN×NT)T=6(M−∑k=13CkN×NTIk)+2(∑k=13Ik−B)
其中, ∑3k=1CkN×NTIk 表示每个节点处的理想角度之和,它和 M 相等,所以
J=2(∑k=14Ik−B)
下面分析 G, 因为两个不同的节点不可能是同一个单元的第 k 个顶点的, 所以 CkN×NT 任意两行正交,则
Dk=CkN×NT(CkN×NT)T
是一个对角矩阵, Dk(i,i)是第k个顶点为第i个节点的单元的个数,可得对角矩阵
D=∑k=13Dk
其中 D(i,i) 为第 i 个节点的邻接单元个数。
记 P=∑3k=1CkN×NT, 则
P(i,j)={1, 第 i 个节点是第 j个单元的顶点;0,否则.
所以 P 为节点和单元的邻接矩阵. 记 Q=PPT,则
Q(i,j)=⎧⎩⎨⎪⎪⎪⎪邻接单元的个数,i=j;2,(i,j) 构成一条内部边;1,(i,j) 构成一条边界边;0, 其它.
则 −G=3D−Q , 是三角形网格的 Laplacian 矩阵. 从图的理论出发, 假设我们的网格为连通图,那么 G 有且只有一个 0 特征值。
三, 四面体网格
四, 六面体网格