Mesh is Art(5):Circle Packing Mesh优化及其应用

在这里插入图片描述

Circle Packing Mesh优化及其应用

在这里插入图片描述

Figure 1:CPMesh优化后的曲面。黑色线为优化后的网格三角面边线,蓝色线为InCircle Packing(每个三角形的内切圆)红色线为Circle Packing,绿色线为三角形的对偶。

Circle Packing在各个领域中的应用

相信很多参数化设计师对于Circle Packing这个概念早已不感到陌生,若干年前Daniel Piker就在他的神作Kangaroo中引入了圆堆碰撞相关的Goals来实现这种形式的优化。类似图2所示,很多数字艺术家痴迷于Circle Packing的形式美,他们用不同大小的圆(通常将圆的半径和图案的某个像素的颜色相关联),通过碰撞的方法来实现彼此互相相切,形成美丽的图案。然而,该算法不仅仅是能得到这些形式,它还能作为一种优化目标,来给网格带来某些特定的性能。
在这里插入图片描述

Figure 2:以Circle Packing算法为概念的艺术创作
图片来源:https://houdinigubbins.wordpress.com/2017/04/23/circle-packing/

Circle Packing还跟折纸相关的算法有着密切的联系。麻省理工学院就有开设几何折叠算法(Geometraic Folding Algorithms)课程,主讲教授为Erik D.Demaine,一个有意思的结论是数学理论证明,如果纸足够大,没有厚度,你可以折出任何你想要的形状。想了解关于这方面的信息可以点击由清华纸艺社的推送《Circle Packing设计理论简介》

在这里插入图片描述

Figure 3:Circle Packing算法与折纸
图片来源:《Circle Packing设计理论简介》

如图4,是曲面间的拟共形映射。在这方面的研究,笔者知识覆盖面有限,这方面仍在学习当中,暂且不谈,挂在这里只是为了让大家知道Circle Packing里还有很多有意思的研究方向。
在这里插入图片描述

Figure 4:曲面间的拟共形映射。左帧曲面的每一个小圆盘区域都映射到右侧椭圆盘区域。椭圆域的偏心率和方向给出了Beltrami系数,Beltrami系数决定了映射。
图片来源:《拟共形映射理论 Quasi-Conformal Mapping (I)》,作者:顾险峰,公众号:老顾谈几何

Circle Packing(准确的说是CPMesh优化)在建筑幕墙中也有广泛应用。在建筑幕墙中,玻璃-钢结构的幕墙可以看作是网格顶点、边和面的物理实现,相反,网格是这种结构的数学抽象。经过CP Mesh优化衍生得到的对偶网格可以得到无扭曲节点(Torsion-Free Nodes):如图5、7所示,无扭曲节点中的梁单元中心的平面是共轴的,这样我们可以沿着网格边来布置梁单元。从结构的角度看,这种无扭曲节点可以消除幕墙节点的扭转,增强节点稳定性、简化节点构造和制造。一般来讲,幕墙中最理想的状态是板与板之间的力的方向要在曲面以内,如果有垂直于幕墙板法向上的力时,嵌板的抵抗能力较差。因此消除扭转的作用是十分重要的。
无扭曲节点可以确定一个公共轴(要知道无轴节点在建造和制造的处理要比有轴节点复杂得多,见图6),可以提高对幕墙的预制和可控能力,并与多层网格兼容。它也可以结合平板优化和支撑结构(使用具有平面和无扭曲节点性质的网格是非常理想的),能够产生一个水密的玻璃-纲结构。事实上CP Mesh优化并不是幕墙优化的主流做法,关于这个问题和幕墙的其他相关技术在后续关于PQ Mesh的章节还会提到。
在这里插入图片描述

Figure 5:一个无扭曲支撑节点,这里中心平面和同一轴相交
图片来源:《Isogonal moulding surfaces: A family of shapes for high node congruence in free-form structures》

在这里插入图片描述

Figure 6:一个无轴节点
图片来源:《Architectural Geometry》

在这里插入图片描述

Figure 7:(a) 无扭曲支撑结构示意图。(b) 阿布扎比亚斯总督酒店幕墙上的无扭曲支撑节点。对于每一条边 e i j e_{ij} eij和顶点 v i v_i vi的四边形网格,我们能够得到平面 π i j π_{ij} πij和一个线 l i l_i li e i j , l i , l j e_{ij},l{i},l{j} eij,li,lj均在平面 π i j π_{ij} πij上。阿布扎比亚斯总督酒店的外部幕墙参考了这种支撑结构方式,使构件与每个节点之间形成了一个很好的连接关系(见图7(b))。具有无扭曲节点的网格也称为圆锥网格,因为属于同一节点的所有面都与同一圆锥相切。

图片来源:《Geometry and Freeform Architecture》

CP Mesh优化原理

CP Mesh(Circle Packing Mesh)最初是为了使建筑和设计中的自由曲面合理化(生成无扭曲节点)而开发的,如图8所示,它是一个三角形网格,绘制其内切圆可以形成一种Packing,以每个顶点为圆心,顶点到内切圆切点的距离为半径绘制球,这样就又得到了一个球Packing,以内切圆的中心轴线彼此相连又能够产生一种六边形的无扭曲的支撑结构。为了计算优化CP Mesh,我们首先需要建立一个基于原始网格的优化问题。因此这里需要通过建立一个能量函数来实现的,它必须能够测量Circle Packing特性、优化网格到原始网格的距离以及优化网格的边界到原始网格边界的距离。换句话说,无论我们使用什么能量函数,总是会对原始网格产生偏差,因此这个优化并不能对任意曲面有效,只能产生近似的Circle Packing。在描述这个优化算法前,我们先来了解一下CP Mesh相关的几何性质
在这里插入图片描述

Figure 8:CPMesh是一种三角形网格,三角面片的内切圆(橙色圆)形成一个Packing。蓝色球体是以网格顶点为中心,与相邻三角形的内切圆正交,也构成了一个Packing。内切圆的中心轴线彼此相连又定义了一个六边形的无扭矩支撑结构(红色结构)。
图片来源:《Packing circles and spheres on surfaces》

和CP Mesh相关的几何性质

首先定义一个三角形,其顶点用 v 1 v_1 v1 v 2 v_2 v2 v 3 v_3 v3表示,它的边被其内切圆(Incircle)相切于点 t 12 t_{12} t12 t 23 t_{23} t23 t 13 t_{13} t13(如图9)。这些切点到顶点vi的距离用ri表示,举个例子, r 1 = ∣ ∣ v 1 − t 12 ∣ ∣ = ∣ ∣ v 1 − t 13 ∣ ∣ r_1=||v_1-t_{12}|| = ||v_1-t_{13}|| r1=v1t12=v1t13(角平分线性质定理)。边长 l i j = ∣ ∣ v i − v j ∣ ∣ l_{ij} = ||v_i-v_j|| lij=vivj,这就得到了 l i j = r i + r j , 2 r i = l i j + l i k − l j k . ( 1 ) l_{ij} = r_i+r_j, 2r_i=l_{ij}+l_{ik}-l_{jk}. (1) lij=ri+rj,2ri=lij+lik

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值