可展开折纸结构的逆向设计:近似通用曲面

可展开折纸结构的逆向设计:近似通用曲面

摘要

形状变形具有广泛的应用价值,从微型支架和大型太阳帆的部署,到软体机器人的驱动与推进。折纸结构为形状变形提供了一种模板,但其设计规则和折叠方法难以整合到广泛且通用的设计工具中。本文开发了一种顺序两阶段优化框架,通过可展开的折纸结构来近似通用曲面。该优化在所有可能的刚性可展且可平折的四边形网格折纸结构空间中进行。因此,由本框架产生的折纸结构具备理想的工程特性:可以在平坦的基准板材上轻松制造,通过受控的折叠动作展开至目标状态,并在涉及存储和便携的应用中,折叠成紧凑的折叠状态。可实现的曲面示例包括具有适度但多样曲率的曲面,以及具有尖锐脊线的前所未有的曲面。该框架不仅为工程和建筑中设计各种可展开和可伸缩的曲面提供了工具,也为优化其他性能和功能提供了途径。

引言

折纸是一门纸艺,其美学价值早已得到认可。自Huffman(1976)、Miura(1985)、Kawasaki(1989)、Hull(1994)、Tachi(2009)、Filipov 等人(2015)、Callens 和 Zadpoor(2018)、Li 和 You(2019)、Gu 和 Chen(2020)的工作以来,科学和工程界对其产生了兴趣。如今,折纸被视为一种实现大规模协调形状变形的工具,这在许多应用中越来越受到关注。通过合适的折叠图案,可以在从医疗支架到可重构天线和太阳帆的各种尺度上实现快速展开。折纸还可作为机器人运动的机制,或在制造中用作组装复杂曲面的方法。然而,尽管前景广阔,折纸的逆向设计——将刚性面板和直线折痕排列成能够在折叠后实现空间预期构型的图案——仍然受到微妙且非线性约束的阻碍。因此,为折纸结构制定平衡实际工程与逆向设计考虑的通用设计原则具有挑战性。基于对称性及其衍生方法的方法在可制造性和可折叠性方面表现理想,但通常缺乏逆向设计所需的通用性。基于空间填充算法和精细折叠操作的方法擅长处理逆向问题,但通常产生的折痕图案难以通过实际工程中常见的驱动或机械控制系统进行折叠。而基于固定折痕图案拓扑的方法,虽然试图在此之间取得平衡,但通常只能在以下某个标准上表现良好,而非同时兼顾两者。

  • 受控可展开性。一个能够生成具备协调形状变形能力设计(即通过受控的折叠运动从一个状态展开到另一个状态的机构功能)的框架。这种功能特性在许多应用中都是必需的,但折纸设计远未保证这一点。

  • 逆向设计的通用性。一个足够通用的框架,能够处理广泛的逆向设计问题。

通过这项工作,我们旨在为折纸结构寻找一个新颖的设计框架,该框架既能保证受控的可展开性,又能满足逆向设计的通用性。

在各种由多边形网格折痕图案构成的折纸结构中,刚性可展且可平折的四边形网格折纸(RFFQM)是具有两个基本特性的特殊类别。首先,这种折纸最初可以在平坦的参考域上设计和制造,然后展开到其目标状态,最终折叠成紧凑的平板状态,整个过程无需对面板进行任何拉伸或弯曲。此外,在涉及存储和便携的应用中,紧凑的折叠状态可以展开为目标状态。其次,其折叠运动学只有一个自由度(DOF);在折叠过程中,所有折叠角以一种协调的方式变化。这一特性简化了机械控制系统或驱动策略的设计。鉴于这些特性,我们将RFFQM视为设计可展开结构的有前景的模板,并利用这类折纸开发了我们的逆向设计策略。

RFFQM的典型范例是著名的Miura-Ori。这种折纸常被用作展示折叠策略有效性和实用性的范例,但它只是一个更大设计空间中的单一示例。RFFQM目前已经得到充分研究。我们之前的工作利用了秩一相容性概念,推导了一种用于所有可能RFFQM的设计和变形的显式步进算法。在此,我们证明了当辅以精细的优化程序时,该步进算法可以成为逆向设计的有效工具。重要的是,该策略的成功之处在于,所有RFFQM的构型空间相当广泛:虽然对RFFQM的研究常集中在对称的、类似Miura-Ori的图案上,这些图案在折叠时表现出简单(平面/圆柱)的变形模式,但通用的RFFQM图案在折痕设计中可以具有显著的空间变化,从而丰富了其可能的变形模式。因此,我们可以系统地利用步进算法探索RFFQM的构型空间,目标是近似各种曲面。

为此,我们开发了一种通用、高效且广泛适用的逆向设计框架,通过受控展开RFFQM折痕图案来实现目标曲面。设计过程由两个渐进的优化步骤组成,在严格保证由刚性和可平折性引发的非线性约束的同时,追求对目标曲面的最佳近似。通过优化上述步进算法的输入参数,我们最小化由RFFQM产生的折纸结构形状与目标曲面之间的差异,从而实现最优设计。本文安排如下:我们首先回顾了参数化所有可能RFFQM的步进算法。接着,我们介绍逆向设计方法的示意图。作为该方法的示例,我们展示了具有不同曲率甚至尖锐脊线的各种曲面实例。我们还通过将该框架扩展到设计能精确逼近人脸的更一般的四边形网格折纸,以突显其通用性。

2. 逆设计框架

2.1 RFFQM的可展开折纸行进算法

首先,我们回顾通过Feng等人(2020a)推导的行进算法对所有RFFQM设计和变形的表征。该算法将是我们逆设计框架的核心组成部分。

四边形网格折痕模式由排列在平面上的四边形面板(MM列,NN行)组成,沿折痕连接。RFFQM是一类具有“可部署”理想属性的四边形网格折纸模式,这些属性限制了其设计。具体来说,如图1(a)所示,具有M×NM \times N面板的RFFQM在每个顶点处由两个扇区角表征:0<αi,j,βi,j<π0 < \alpha^{i,j}, \beta^{i,j} < \pii=0,1,,Mi = 0,1,\dots,Mj=0,1,,Nj = 0,1,\dots,N)。每个顶点的另外两个扇区角受约束:总和为2π2\pi(可展开性),对角和为π\pi(平坦可折叠性/Kawasaki条件)。这些条件对RFFQM是必要的,但远非充分。

在此,我们通过一个行进算法解决充分性问题,该算法由图1(e)中红色和蓝色线段示意性表示的输入数据初始化。输入数据是模式中每个顶点处所有角0<αi,0,βi,0,α0,j,β0,j<π0 < \alpha^{i,0}, \beta^{i,0}, \alpha^{0,j}, \beta^{0,j} < \pi、长度li,0,l0,j>0l^{i,0}, l^{0,j} > 0,以及符号σ0i,0,σ00,j=+\sigma_0^{i,0}, \sigma_0^{0,j} = +-(用于参数化左、底“L”形边界折痕)的集合。符号编码了“L”上每个顶点处的有效山谷(M-V)分配(图1(e)),附录A中提供了符号与M-V分配关系的精确公式。我们通过数组α0\alpha_0l0l_0σ0\sigma_0紧凑表示这些数据,分别列出所有此类边界角、长度和符号。

我们在Feng等人(2020a)中证明,可以通过行进算法迭代发现:

定理1:对于上述任何输入数据(α0,l0,σ0)(\alpha_0, l_0, \sigma_0),存在恰好一个或零个与该数据集一致的RFFQM。

该定理通过一系列局部计算建立,从图案左下角的面板开始(图1(b))。输入数据提供该面板四个顶点中三个的几何形状和M-V分配。然后通过尝试将折痕模式约束为刚性可折叠,来表征第四个顶点。Feng等人(2020a)中推导的基本结果是:在此约束下,最终顶点处的折痕几何和M-V分配要么可通过显式公式由其他三个唯一确定,要么数据不兼容。在兼容数据的情况下,我们可以继续到相邻面板并迭代计算(因为我们再次知道四个顶点中三个的相关数据)。兼容性的判据和迭代公式在附录A.2-4中提供。通过此过程,我们获得一个显式的行进算法,要么发现唯一的RFFQM模式,要么因迭代中某点不兼容而失败。

假设输入数据(α0,l0,σ0)(\alpha_0, l_0, \sigma_0)兼容,我们可以通过此行进算法计算整体折痕模式。该模式保证表现出**单一自由度(DOF)**的折叠运动,沿规定的M-V分配将每个折叠角从00单调演化到π\pi(或π-\pi)。我们用折叠参数ω\omega表征此运动:ω=0\omega = 0描述平折痕图案,ω=π\omega = \pi描述折叠后状态,0<ω<π0 < \omega < \pi将图案从平到折叠后演化(图1(c))。因此,折纸结构的运动学由下式参数化:

{yi,j(α0,l0,σ0,ω)i=0,1,,M,j=0,1,,N}(1) \left\{ \mathbf{y}^{i,j}(\alpha_0, l_0, \sigma_0, \omega) \mid i = 0,1,\dots,M,\, j = 0,1,\dots,N \right\} \tag{1}

其中yi,j\mathbf{y}^{i,j}是变形折纸结构上的顶点位置(3D),由(α0,l0,σ0,ω)(\alpha_0, l_0, \sigma_0, \omega)确定。这种参数化也通过行进法显式确定(Feng et al., 2020a);实现此的参数化公式在附录A.5-7中提供。简而言之,折叠参数ω\omega对应于图1(a)和(d)中(0,0)(0,0)顶点下方虚拟折痕的折叠角。这条折痕(连同左、底边界的其他边界折痕)用于“播种”图案及其运动学,但为方便起见,未包含在输出(图1(c))中;他们的排除流线简化了整体行进算法的实现。

对于逆向设计,行进算法的一个关键点是,发现一个 RFFQM 图案并计算其在公式 (1) 中的运动学是高效的计算过程;由于该过程的显式迭代性质,图案及其任何折叠状态都通过随面板数量呈线性增长(O(MN)O(MN))的计算来确定。因此,我们可以将大部分计算资源专门用于解决逆向设计问题,而不是计算在发现此类图案时涉及的设计和运动学约束。

2.2 一般逆向设计策略

折纸中的逆向问题涉及设计折痕图案,使其折叠成具有特定属性的结构。在这里,我们描述了一种通过 RFFQM 进行可展开折纸结构逆向设计的一般框架,并结合相关研究讨论我们的方法。

{yi,j}\{y^{i,j}\} 表示三维空间中的一组顶点 y0,0,y1,0,,yM,Ny^{0,0}, y^{1,0}, \dots, y^{M,N}。假设我们希望将这些顶点排列成对应于一个具有 M×NM \times N 个面板的 RFFQM 折痕图案的折纸变形,并且同时最小化一个与某些逆向问题一致的目標函数。Tachi 定理(Tachi, 2009)指出,我们可以按以下方式描述这种一般优化问题:

minyi,jfobj({yi,j})subject to{gdev(yi,j,yi+1,j,yi,j+1,yi1,j,yi,j1)=0if (i,j) indexes an interior vertex,gfold(yi,j,yi+1,j,yi,j+1,yi1,j,yi,j1)=0if (i,j) indexes an interior vertex.(2) \begin{aligned} \min_{y^{i,j}} \quad & f_{\text{obj}}(\{y^{i,j}\}) \\ \text{subject to} \quad & \begin{cases} g_{\text{dev}}(y^{i,j}, y^{i+1,j}, y^{i,j+1}, y^{i-1,j}, y^{i,j-1}) = 0 \\ \quad \text{if } (i, j) \text{ indexes an interior vertex,} \\ g_{\text{fold}}(y^{i,j}, y^{i+1,j}, y^{i,j+1}, y^{i-1,j}, y^{i,j-1}) = 0 \\ \quad \text{if } (i, j) \text{ indexes an interior vertex.} \end{cases} \end{aligned} \tag{2}

这里,fobj.f_{\text{obj.}} 对应于所有或部分顶点 {yi,j}\{y^{i,j}\} 的某个合适选择的目标函数,gdev.g_{\text{dev.}} 表示可展开性约束(顶点处的扇形角之和为 2π2\pi),gffold.g_{\text{ffold.}} 表示平折性约束(顶点处的对顶扇形角之和为 π\pi)。如前所述,这些约束可以通过 R3\mathbb{R}^3 中五个相邻顶点的公式表示为:

gdev.(v0,v1,v2,v3,v4)=i=1,,4arccos(viv0viv0vi+1v0vi+1v0)2π,gffold.(v0,v1,v2,v3,v4)=arccos(v2v0v2v0v1v0v1v0)+arccos(v4v0v4v0v3v0v3v0)π,(3) \begin{aligned} g_{\text{dev.}}(\mathbf{v}_0, \mathbf{v}_1, \mathbf{v}_2, \mathbf{v}_3, \mathbf{v}_4) &= \sum_{i=1,\dots,4} \arccos\left( \frac{\mathbf{v}_i - \mathbf{v}_0}{|\mathbf{v}_i - \mathbf{v}_0|} \cdot \frac{\mathbf{v}_{i+1} - \mathbf{v}_0}{|\mathbf{v}_{i+1} - \mathbf{v}_0|} \right) - 2\pi, \\ g_{\text{ffold.}}(\mathbf{v}_0, \mathbf{v}_1, \mathbf{v}_2, \mathbf{v}_3, \mathbf{v}_4) &= \arccos\left( \frac{\mathbf{v}_2 - \mathbf{v}_0}{|\mathbf{v}_2 - \mathbf{v}_0|} \cdot \frac{\mathbf{v}_1 - \mathbf{v}_0}{|\mathbf{v}_1 - \mathbf{v}_0|} \right) \\ &\quad + \arccos\left( \frac{\mathbf{v}_4 - \mathbf{v}_0}{|\mathbf{v}_4 - \mathbf{v}_0|} \cdot \frac{\mathbf{v}_3 - \mathbf{v}_0}{|\mathbf{v}_3 - \mathbf{v}_0|} \right) - \pi, \end{aligned} \tag{3}

其中,对于前一个公式,v5=v1\mathbf{v}_5 = \mathbf{v}_1,且假设边长 viv0|\mathbf{v}_i - \mathbf{v}_0| 为正以应用这些公式。更确切地说,Tachi 定理给出了以下结果:如果我们能找到顶点 {yi,j}\{y^{i,j}\}

  • 对于 M×NM \times N 折痕图案,求解公式 (2) 中的所有 2(M1)(N1)2(M-1)(N-1) 个等式约束;
  • 且不全部位于 R3\mathbb{R}^3 的一个平面上;

那么集合 {yi,j}\{y^{i,j}\} 描述了 M×NM \times N RFFQM 折痕图案的刚性折纸变形的顶点。因此,公式 (2) 的任何解都对应于一个折纸结构,该结构可以在平面参考折痕图案上设计,并通过折叠运动(机制)部署以实现目标。不过请注意,无论目标函数如何,这个优化问题都是非凸的,因为等式约束是非线性的。在顶点集合 {yi,j}\{y^{i,j}\} 中,还有 2(M1)(N1)2(M-1)(N-1) 个非线性等式约束和 3(M+1)(N+1)3(M+1)(N+1) 个待优化的未知量。因此,该优化问题从根本上具有挑战性,并充满潜在的可扩展性(规模扩大)问题。尽管如此,许多研究人员已经着手研究这个问题的各个方面。

Tachi (2010) 尤其开创了将公式 (2) 的方法作为一种自由形式折纸策略的思路:通过在已知折纸图案附近线性化,并选择一个将顶点扰动到期望位置的目标函数,同时保持约束。Dudte 等人 (2016) 增强了公式 (2) 中的等式约束,以在优化过程中允许一定的灵活性,并使用这种方法展示了各种近似曲面的折纸结构。不过重要的是,他们通常通过放宽平折性约束 gffold.g_{\text{ffold.}} 来获得这些结果;因此,他们的框架产生的折纸设计通常无法从平面状态严格地作为机制部署到优化后的状态。Hu 等人 (2020) 最近改进了 Dudte 等人的方法,以允许平折性约束。然而,他们的方法报告说,在面板数量大的折痕图案中收敛到解存在困难;我们推测,这个问题很可能是由于在优化精细网格的折纸图案时,数值上满足所有等式约束具有显著的挑战性所致。

我们的核心思想是利用行进算法提供的 RFFQM 刻画,完全消除等式约束。如前所述,该算法通过数组 (α0,l0,σ0)(\alpha_0, l_0, \sigma_0) 指定的“L”形边界上的角度、长度和山-谷分配来高效参数化 RFFQM 折痕图案,并通过折叠参数 ω\omega 高效参数化其运动学。因此,我们可以直接且高效地将公式 (2) 中的优化替换为:

minα0,l0,σ0,ωf~obj.(α0,l0,σ0,ω)subject to{(α0,l0,σ0) 是兼容的输入数据,ω(0,π).(4) \begin{aligned} \min_{\alpha_0, l_0, \sigma_0, \omega} \quad & \tilde{f}_{\text{obj.}}(\alpha_0, l_0, \sigma_0, \omega) \\ \text{subject to} \quad & \begin{cases} (\alpha_0, l_0, \sigma_0) \text{ 是兼容的输入数据,} \\ \omega \in (0, \pi). \end{cases} \end{aligned} \tag{4}

这里,我们只需用 f~obj.(α0,l0,σ0,ω)=fobj.({yi,j(α0,l0,σ0,ω)})\tilde{f}_{\text{obj.}}(\alpha_0, l_0, \sigma_0, \omega) = f_{\text{obj.}}(\{y^{i,j}(\alpha_0, l_0, \sigma_0, \omega)\}) 替换 fobj.f_{\text{obj.}};因此,它是相同的一般目标函数,只是顶点由行进算法显式参数化。

虽然公式 (4) 描述了一个一般的优化方案(等价于公式 (2) 中的 RFFQM 折痕图案族),但变量 σ0\sigma_0 是离散变量的数组,因此难以进行数值优化。作为实际实现的考量,我们转而处理在规定的 σ~0\tilde{\sigma}_0 下的优化问题,即:

minα0,l0,ωf~obj.(α0,l0,ω)=f~obj.(α0,l0,σ~0,ω)subject to{(α0,l0,σ~0) 是兼容的输入数据,ω(0,π).(5) \begin{aligned} \min_{\alpha_0, l_0, \omega} \quad & \tilde{f}_{\text{obj.}}(\alpha_0, l_0, \omega) = \tilde{f}_{\text{obj.}}(\alpha_0, l_0, \tilde{\sigma}_0, \omega) \\ \text{subject to} \quad & \begin{cases} (\alpha_0, l_0, \tilde{\sigma}_0) \text{ 是兼容的输入数据,} \\ \omega \in (0, \pi). \end{cases} \end{aligned} \tag{5}

在这种设定下,兼容输入数据的结构对数值实现具有很好的性质:假设我们已经确定了一些兼容的输入数据 (αˉ0,lˉ0,σˉ0)(\bar{\alpha}_0, \bar{l}_0, \bar{\sigma}_0)(例如,一个著名的 RFFQM 折纸结构,如 Miura-Ori,其 M-V 分配由 σˉ0\bar{\sigma}_0 固定),那么存在一个 αˉ0\bar{\alpha}_0开邻域,在该邻域上数据也是兼容的。此外,我们可以证明,对于该邻域内的 (α0,l0)(\alpha_0, l_0)ω(0,π)\omega \in (0, \pi),顶点位置的公式 yi,j(α0,l0,σˉ0,ω)y^{i,j}(\alpha_0, l_0, \bar{\sigma}_0, \omega)光滑的。因此,公式 (5) 中的优化是在 R3M+3N+2\mathbb{R}^{3M + 3N + 2} 的一个开子集上进行的标准非线性规划问题,其生成折叠折纸配置的公式也是光滑的,这意味着它可以使用标准的数值方案(见附录 E)来处理。该技术方案的精确陈述和证明在附录 A.8 中提供。

最后,通过公式 (5) 而非像公式 (2) 这样的基于顶点的方法来构建优化问题,有一些显著的优势:

  • 折纸可展开性的严格保证。文献中发现的大多数优化折纸结构的惊人例子(例如,Dudte 等人的曲面近似)实际上都没有求解公式 (2) 中的优化问题;相反,它们求解的是放松了平折性约束的增强型基于顶点的方法。在放松的设置中,实现目标(例如,曲面近似)要容易得多——因为优化过程的约束更少。但是,也无法保证像“可部署性”(即能够作为机制折叠到目标折纸结构,无论是从平面折痕图案还是从紧凑状态出发)这样的功能属性一定能实现。

    相比之下,公式 (5) 中优化得到的每一个折纸结构都是刚性且平折可折叠的,因此在上述意义上可部署。

  • 设计空间维度的直接编码。RFFQM 的设计空间与边界上的顶点数量成正比(O(M+N)\mathcal{O}(M + N)),而不是整个图案的顶点数量(O(MN)\mathcal{O}(MN))。这一事实在公式 (5) 的优化中被直接编码,但在基于顶点的方法(公式 (2))中则完全不透明。这种维度差异对如何设计目标函数有重大影响。例如,在约束优化中,一个常见的方法是引入与期望目标一致的额外约束。在 Dudte 等人(2016)开发的曲面优化中,作者直接将一半的顶点附加到他们希望近似的曲面上,然后尝试在优化过程中利用剩余自由度来满足折纸约束。当平折性约束被放松时,这种方法显然有效。然而,RFFQM 设计空间中只有 O(M+N)\mathcal{O}(M + N) 个自由度。因此,任何在公式 (2) 中引入额外 O(MN)\mathcal{O}(MN) 个非平凡约束的目标函数,当 MN1MN \gg 1 时都不太可能可行。

2.3 针对目标曲面的优化

我们现在将研究重点限制在一类具有挑战性且重要的逆问题中——即通过优化式(1)中的可展开折纸族来逼近目标曲面。不过我们注意到,匹配算法和式(5)中概述的过程可用于其他优化策略,例如最优包装、运动学优化或功能/动态特性的优化。

在使用可展开折纸结构逼近目标曲面的问题中,我们面临三个基本问题:
(I)折纸结构较为粗糙,而我们通常希望逼近的曲面是光滑的。
(II)将(α0,l0,σ0,ω)(\alpha_0, l_0, \sigma_0, \omega)与折纸结构(式(1))以及随后的曲面(通过式(5)中的某个f^obj\hat{f}_{\text{obj}})相关联的近似非线性耦合,会导致在非凸集上最小化非凸目标函数的逆设计问题。
(III)确保可展开性这一功能特性,同时获得高质量的逼近,是很有挑战性的,因为设计空间的维度很小(即O(M+N)O(M + N),而非O(MN)O(MN))。

由于这些原因,逆设计的成功需要在优化公式化初始条件选择方面采取谨慎的策略。我们通过将三浦折叠(Miura-Ori)作为逆设计的模板来解决这些问题。关键思想如图2(a)所示:所示的初始折纸是一个已沿其单个自由度(DOF)运动折叠成三维构型的三浦折叠,我们称之为部分折叠状态。(因为它既不是平面,也不是完全折叠的平面)。重要的是,这个部分折叠的 Miura-Ori 本身是一个粗糙的波纹结构,但有一个有序的点集——用红色和蓝色格子表示——离散化了一个位于 3D 空间中的平面区域。注意,红色和蓝色格子在平面上相互偏移,但具有相同的矩形单元格。此外,无论几何形状/单元格数量如何,也无论选择的部分折叠状态如何,这一事实都成立。因此,我们可以使用从部分折叠的 Miura-Ori 中出现的偏移格子作为种子,来离散化目标表面,并初始化将该表面与可部署折纸结构进行比较的两阶段优化。

使用 Miura-Ori 的基本设置。为了具体解释这些想法,使用行进算法描述 Miura-Ori 是有用的。这首先通过选择算法的输入数据来完成:(αM-O,lM-O,σM-O)(\boldsymbol{\alpha}_{\text{M-O}}, \boldsymbol{l}_{\text{M-O}}, \boldsymbol{\sigma}_{\text{M-O}}),使得

αi,0=α,βi,0=πα,对所有 i,α0,j=α,β0,j=πα,对所有偶数 j,α0,j=πα,β0,j=α,对所有奇数 j,ui,j=w,对所有 i 和 j,σi,0=+,σ0,j=+,对所有 i 和 j,(6) \begin{aligned} \alpha^{i,0} &= \alpha, &\beta^{i,0} &= \pi - \alpha, &\text{对所有 } i, \\ \alpha^{0,j} &= \alpha, &\beta^{0,j} &= \pi - \alpha, &\text{对所有偶数 } j, \\ \alpha^{0,j} &= \pi - \alpha, &\beta^{0,j} &= \alpha, &\text{对所有奇数 } j, \\ u^{i,j} &= w, &\text{对所有 } i \text{ 和 } j, \\ \sigma^{i,0} &= +, &\sigma^{0,j} &= +, &\text{对所有 } i \text{ 和 } j, \end{aligned} \tag{6}

其中 iijj 循环以给出与 M×NM \times N 图案一致的数据,且 0<α<π0 < \alpha < \piw,l>0w, l > 0 描述了折纸的几何形状和波纹。我们还假设 MMNN 是偶数以简化以下一些符号。我们的数据,连同折叠参数 0<ωM-O<π0 < \omega_{\text{M-O}} < \pi,初始化了行进算法,该算法随后生成一个通用的部分折叠 Miura-Ori,其顶点为

yM-Oi,j=yi,j(αM-O,lM-O,σM-O,ωM-O)(7) \mathbf{y}_{\text{M-O}}^{i,j} = \mathbf{y}^{i,j}(\boldsymbol{\alpha}_{\text{M-O}}, \boldsymbol{l}_{\text{M-O}}, \boldsymbol{\sigma}_{\text{M-O}}, \omega_{\text{M-O}}) \tag{7}

在 3D 空间中(回忆公式 (1))。这个折纸有一个偏移格子,例如,图 2(a) 中初始折纸的红色和蓝色网格点。它通过以下公式收集折纸“顶部”表面的顶点得到

rM-Oi,j=yM-O2i,j(8) \mathbf{r}_{\text{M-O}}^{i,j} = \mathbf{y}_{\text{M-O}}^{2i,j} \tag{8}

对于 i=0,1,,M/2i = 0, 1, \dots, M/2j=0,1,,Nj = 0, 1, \dots, N(假设 M/2M/2 是整数)。

现在,假设我们改变公式 (6) 中的角度和长度输入数据,使得 α0=αM-O+δα\alpha_0 = \boldsymbol{\alpha}_{\text{M-O}} + \delta\boldsymbol{\alpha}l0=lM-O+δll_0 = \boldsymbol{l}_{\text{M-O}} + \delta\boldsymbol{l},同时保持 M-V 分配 σM-O\boldsymbol{\sigma}_{\text{M-O}} 固定。这些扰动的一大类与 RFFQM 兼容。因此,我们可以用兼容的扰动和折叠参数 0<ω<π0 < \omega < \pi 初始化行进算法,以产生一个新的折纸结构。与 Miura-Ori 的情况一样,我们可以通过以下公式收集这个新折纸结构“顶部”表面的顶点

ri,j(α0,l0,ω)=y2i,j(α0,l0,σM-O,ω)(9) \mathbf{r}^{i,j}(\boldsymbol{\alpha}_0, l_0, \omega) = \mathbf{y}^{2i,j}(\boldsymbol{\alpha}_0, l_0, \boldsymbol{\sigma}_{\text{M-O}}, \omega) \tag{9}

对于 i,ji, j 按照方程 (8) 进行循环。可以将这组点视为方程 (8) 中偏移格的光滑变形。接受这种观点,我们将这些点称为 α0,l0\alpha_0, l_0 origami surface。注意,每个这样的表面都是参数 (a0,l0,ω0)(a_0, l_0, \omega_0) 的显式函数,并且这些参数可以变化。因此,为了逆设计的目的,我们可以探索这个庞大的 origami surface 家族。

实用兴趣的目标表面通常可以通过一种参数化来描述,该参数化将二维矩形区域映射到表面。假设我们有这样一个表面,由 r(u,v)\vec{r}(u,v) 给出,其中 u[uL,uR]u \in [u^L, u^R]v[vL,vR]v \in [v^L, v^R],例如,图 2 中的球面,我们希望找到一个与之相似的 origami surface。由于上述 origami surfaces 本质上是由离散的点集描述的,我们自然可以通过对给定目标表面进行离散化来进行比较:

ri,j=r(ui,j,vi,j)tag10\vec{r}^{i,j} = \vec{r}(u^{i,j}, v^{i,j}) \\tag{10}

对于 i,ji, j 按照方程 (8) 进行循环。在这里,离散点 ui,j[uL,uR]u^{i,j} \in [u^L, u^R]ui,j[vL,vR]u^{i,j} \in [v^L, v^R] 是根据 Miura-Ori 偏移格选择的。回想一下,方程 (8) 中的偏移格取决于许多参数:a,w,l,N,Ma, w, l, N, MωM.O.\omega_{M.O.}。为了简单和均匀离散化,我们选择 a=π/3,w=la = \pi/3, w = lωM.O.=3π/4\omega_{M.O.} = 3\pi/4。这个选择导致偏移格具有近似正方形的单元格,边长 LWlL \approx W \approx l,长宽比 W/L1W/L \approx 1,总宽度 lM/2\approx lM/2,总长度 lN/2\approx lN/2。所以我们可以将偶数整数 MM 作为目标表面折叠次数的两个参数之一,然后选择偶数整数 NN,使其最好地逼近目标表面特征长度的比 Lu/LvM/NL_u/L_v \approx M/N,最后选择 ll 使得 lM/2LulM/2 \approx L_u。通过这些选择,我们可以使用附录 B.1 中的构造将偏移格投影到 (u,v)(u,v)-平面上,从而得到一组合适离散化目标表面的点 (ui,j,vi,j)(u^{i,j}, v^{i,j})

到目前为止,我们概述了一种通用策略,用于获取可展开的折纸表面族,并通过选择采用 Miura-Ori 来对(相当)任意的目标表面进行离散化——无论是我们收集描述折纸表面的点的方式,还是我们对目标表面进行离散化的方式。这些选择伴随着许多优化优势,其启发式理由如下:(1)Miura-Ori 深深植根于 RFQFM 的兼容参数集中,这意味着它可以在许多方向上受到扰动,而不会因不兼容问题限制优化。(2)红色和蓝色网格(图 2(a))即使对于 Miura-Ori 的大幅扰动,总体上仍保持规则。因此,在将这些网格与平滑目标表面上的类似点进行比较时,存在一定程度的一致性。(3)最后,受扰动的 Miura-Ori 点可以访问广泛的有效曲率和度量。因此,优化不会陷入质量较差的局部最小值,至少对于大多数实际感兴趣的表面来说是这样。通过将这些选择与仔细的两阶段优化程序相结合,我们开发了一种方法,在很大程度上克服了讨论的 (I-III) 问题。我们在下面开发优化程序,再次使用图 2 来指导阐述。该程序的更多细节在附录 B.2 中提供。

步骤 1:离散化。我们固定一个我们选择的目标表面,r(u,v)\vec{r}(u, v),其中 u[uL,uR]u \in [u^L, u^R]vi,j[vL,vR]v^{i,j} \in [v^L, v^R]。我们还固定一个偶数整数 MM,它设定了折纸面板的列数。从这些量中,我们根据 Miura-Ori 偏移格,构造目标表面的离散化 ri,j\vec{r}^{i,j} 和折纸表面的点网格 xi,j(α0,l0,ω)\vec{x}^{i,j}(\alpha_0, l_0, \omega) 的网格,完全按照方程 (6)-(10) 所述。为了参考,我们回忆 Miura-Ori 参数标记为 (αM.O.,σM.O.,lM.O.,ωM.O.)(\alpha_{\text{M.O.}}, \sigma_{\text{M.O.}}, l_{\text{M.O.}}, \omega_{\text{M.O.}});此外,长度输入选择在方程 (6) 中使得 w=l1w = l\mathbf{1},因此对于一个分量全为 1 的向量 1\mathbf{1},我们有 lM.O.=ll_{\text{M.O.}} = l

步骤 2:形状优化。微分几何中有一个众所周知的事实:如果两个光滑参数化曲面来自同一基础域,当且仅当它们的一阶和二阶基本形式相同时,这两个曲面才是相同的(至欧几里得变换)。因此,在折纸表面与目标表面的形状优化中,这些几何量是比较自然的选择。我们考虑这种比较的一个类比:我们将两个离散化的表面(见远右图 Fig. 2(b))进行三角剖分,并比较形状算子,这些算子量化了类似三角形上的离散但标架无关的度量和曲率概念。

我们概述的程序起源于 Grinspun 等人(2006)的研究,也已在形状变化仿生结构的设计中得到应用(Van Rees 等人,2018)。如图 3(a–d) 所示,我们注意到基于这些格子的表面偏移(Eqs. (9))和离散化(Eqs. (10))具有自然的三角剖分。具体来说,有两套三角剖分——一套是 Eq. (9) 中的离散折纸表面,另一套是 Eq. (10) 中的离散目标表面,每套表面的三角形之间存在一一对应关系,这使得比较形状变得合适。我们以这种方式对两个表面进行三角剖分,并在这些三角形上定义形状算子。考虑其中一个表面上内部的一个三角形,并引入图 3(e) 和 (f) 中的标记。该三角形的形状算子为:

a=1L[(n1n0)t0lt0(n1n0)t1lt1(n1n0)t2lt2(n2n1)t0lt0(n2n1)t1lt1(n2n1)t2lt2(n0n2)t0lt0(n0n2)t1lt1(n0n2)t2lt2],b=2[(n1n0)t0lt0(n1n0)t1lt1(n1n0)t2lt2(n2n1)t0lt0(n2n1)t1lt1(n2n1)t2lt2(n0n2)t0lt0(n0n2)t1lt1(n0n2)t2lt2],(11) \mathbf{a} = \frac{1}{\langle L \rangle} \begin{bmatrix} \frac{(\mathbf{n}_1-\mathbf{n}_0)\cdot\mathbf{t}_0}{l_{t_0}} & \frac{(\mathbf{n}_1-\mathbf{n}_0)\cdot\mathbf{t}_1}{l_{t_1}} & \frac{(\mathbf{n}_1-\mathbf{n}_0)\cdot\mathbf{t}_2}{l_{t_2}} \\ \frac{(\mathbf{n}_2-\mathbf{n}_1)\cdot\mathbf{t}_0}{l_{t_0}} & \frac{(\mathbf{n}_2-\mathbf{n}_1)\cdot\mathbf{t}_1}{l_{t_1}} & \frac{(\mathbf{n}_2-\mathbf{n}_1)\cdot\mathbf{t}_2}{l_{t_2}} \\ \frac{(\mathbf{n}_0-\mathbf{n}_2)\cdot\mathbf{t}_0}{l_{t_0}} & \frac{(\mathbf{n}_0-\mathbf{n}_2)\cdot\mathbf{t}_1}{l_{t_1}} & \frac{(\mathbf{n}_0-\mathbf{n}_2)\cdot\mathbf{t}_2}{l_{t_2}} \end{bmatrix}, \quad \mathbf{b} = 2 \begin{bmatrix} \frac{(\mathbf{n}_1-\mathbf{n}_0)\cdot\mathbf{t}_0}{l_{t_0}} & \frac{(\mathbf{n}_1-\mathbf{n}_0)\cdot\mathbf{t}_1}{l_{t_1}} & \frac{(\mathbf{n}_1-\mathbf{n}_0)\cdot\mathbf{t}_2}{l_{t_2}} \\ \frac{(\mathbf{n}_2-\mathbf{n}_1)\cdot\mathbf{t}_0}{l_{t_0}} & \frac{(\mathbf{n}_2-\mathbf{n}_1)\cdot\mathbf{t}_1}{l_{t_1}} & \frac{(\mathbf{n}_2-\mathbf{n}_1)\cdot\mathbf{t}_2}{l_{t_2}} \\ \frac{(\mathbf{n}_0-\mathbf{n}_2)\cdot\mathbf{t}_0}{l_{t_0}} & \frac{(\mathbf{n}_0-\mathbf{n}_2)\cdot\mathbf{t}_1}{l_{t_1}} & \frac{(\mathbf{n}_0-\mathbf{n}_2)\cdot\mathbf{t}_2}{l_{t_2}} \end{bmatrix}, \quad (11)

其中 a\mathbf{a} 是无量纲化的(除以 LL),LL 是目标表面四边形网格边的平均长度(见附录 B.2)。在三角剖分的术语中,数组 a\mathbf{a} 表征三角形的形状,矩阵 b\mathbf{b} 描述其曲率,因为它与该三角形相对于其邻居的朝向有关。为了完整性,边界三角形的形状算子采取不同的形式:我们按上述方式计算数组 a\mathbf{a},但由于只有两个法向量被定义,因此只计算 b\mathbf{b} 的一行。

对于优化,我们将局部形状算子列入全局“形状数组”中,以便每个内部三角形贡献十二个元素到列表中(即上述的 a 和 b 的分量),每个边界三角形贡献六个元素。令 S^\hat{S} 表示目标表面的形状数组,S(α0,l0,ω)S(\alpha_0, l_0, \omega) 表示折纸表面的形状数组。我们组织这些数组,使得折纸和目标任务表面对应三角形的形状算子分量在这些数组中具有匹配的位置。只有当这两个三角形网格在欧几里得变换下相同时,才可能有 S^=S(α0,l0,ω)\hat{S} = S(\alpha_0, l_0, \omega);因此,这建立了与第一和第二基本形式的联系。我们因此引入

fsh(α0,l0,ω)=1NTS^S(α0,l0,ω)2f_{\text{sh}}(\alpha_0, l_0, \omega) = \frac{1}{N_T} |\hat{S} - S(\alpha_0, l_0, \omega)|^2 (12)

作为目标函数,如果 (α0,l0,1,σM.O.)(\alpha_0, l_0, 1, \sigma_{\text{M.O.}}) 与匹配算法的兼容输入数据,其中 NTN_T 是折纸表面上的顶点数。如果数据不兼容,则返回一个很大的正常数 CNumfsh(αM.O.,lM.O.,ωM.O.)C_{\text{Num}} \gg f_{\text{sh}}(\alpha_{\text{M.O.}}, l_{\text{M.O.}}, \omega_{\text{M.O.}})。这在优化中是一种方便强制执行兼容性的数值手段。注意,这里的长度输入数据 l0=l01l_0 = l_0 \mathbf{1},被限制为 Miura-Ori 长度输入的重新缩放,以保持折纸面板的相对均匀的纵横比。为了找到最优解,我们从 Miura-Ori 输入数据 (αM.O.,lM.O.)(\alpha_{\text{M.O.}}, l_{\text{M.O.}}) 开始,并迭代数值(见附录 E),以到达 fsh()f_{\text{sh}}(\cdot) 的局部最小值或一个接近兼容 RFQFM 输入参数集的局部最小值。为了参考,我们标记这个最优解为 (α0,l0,ω)(\alpha_0^*, l_0^*, \omega^*)。整个程序在图 2(b) 中概述。

步骤3:Registration. 从形状优化得到的折纸表面由顶点集合 αi,j(α0,l0,ω)\alpha^{i,j}(\alpha_0^*, l_0^*, \omega^*) 表示。由于形状优化是标架无关的,这些顶点不一定与像 ri,jr^{i,j} 那样的顶点在目标表面上对齐和定向。因此,我们应用一个刚体运动,通过求解以下方程,使顶点尽可能好地拟合到目标表面:

minRSO(3),bR3ijri,j(αO,lO,1,ω)(Rri,j+b)2(13) \min_{\mathbf{R}\in\mathrm{SO}(3),\mathbf{b}\in\mathbb{R}^3}\sum_{ij}\left\lVert\mathbf{r}^{i,j}(\alpha_{\mathrm{O}}^*,l_{\mathrm{O}}^*,1,\omega^*) - (\mathbf{R}\mathbf{r}^{i,j} + \mathbf{b})\right\rVert^2 \tag{13}

(见图 2(c))。由于这里最小化的刚体运动可能是大的,因此使用基于成熟思想(Myronenko 和 Song,2010)的相干点漂移方法(coherent point drift method,见附录 E)来计算解。为参考起见,我们将最小化对 (R,b)(\mathbf{R},\mathbf{b}) 标记为解。

步骤 4:点优化。 对于任何目标表面,形状优化都能提供形状的合理全局近似。然而,注册后边界附近可能存在显著的局部偏差(例如,见图 2(c))。我们通过扰动参数 (αO,lO,1,ω)(\alpha_{\mathrm{O}}^*,l_{\mathrm{O}}^*,1,\omega^*) 来改进近似,使折纸和目标表面上的相似点更接近,从而引入第二个优化步骤(见图 2(d))。具体来说,我们将兼容输入数据的目标函数引入为

fpl(αO,lO,ω,R,b)=1NTijri,j(αO,lO,1,ω)(Rri,j+b)2(14) f_{\mathrm{pl}}(\alpha_{\mathrm{O}},l_{\mathrm{O}},\omega,\mathbf{R},\mathbf{b}) = \frac{1}{N_T}\sum_{ij}\left\lVert\mathbf{r}^{i,j}(\alpha_{\mathrm{O}},l_{\mathrm{O}},1,\omega) - (\mathbf{R}\mathbf{r}^{i,j} + \mathbf{b})\right\rVert^2 \tag{14}

当数据不兼容时,返回一个大数 CNumfpl(αO,lO,1,ω,R,b)C_{\mathrm{Num}} \gg f_{\mathrm{pl}}(\alpha_{\mathrm{O}}^*,l_{\mathrm{O}}^*,1,\omega^*,\mathbf{R},\mathbf{b})。注意,此处的完整长度输入数据 l0l_0 在此步骤中可自由旋转和平移,且平移 b=b+δb\mathbf{b} = \mathbf{b} + \delta\mathbf{b} 在小扰动下也近似最优(另见优化中的注释)。此外,在执行优化时,我们通过将旋转完全参数化为欧拉角来写 R=Q(ξ,ζ,η)R\mathbf{R} = Q(\xi,\zeta,\eta)\mathbf{R},其中

Q(ξ,ζ,η)=[cosζcosξcosηsinζsinξcosξsinζcosηcosζsinξsinζsinηcosζsinξ+cosηcosζcosξcosξcosζsinζcosηsinξcosξsinηsinζsinηcosξsinηcosη](15) Q(\xi,\zeta,\eta) = \begin{bmatrix} \cos\zeta\cos\xi - \cos\eta\sin\zeta\sin\xi & -\cos\xi\sin\zeta - \cos\eta\cos\zeta\sin\xi & \sin\zeta\sin\eta \\ \cos\zeta\sin\xi + \cos\eta\cos\zeta\cos\xi & \cos\xi\cos\zeta - \sin\zeta\cos\eta\sin\xi & -\cos\xi\sin\eta \\ \sin\zeta\sin\eta & \cos\xi\sin\eta & \cos\eta \end{bmatrix} \tag{15}

ξ,ζ,η\xi,\zeta,\eta 是欧拉角。最后,为了计算最优解,我们从形状优化的输入数据 (αO,lO,1,ω)(\alpha_{\mathrm{O}}^*,l_{\mathrm{O}}^*,1,\omega^*)、旋转 R=Q(0,0,0)R\mathbf{R} = Q(0,0,0)\mathbf{R} 和平移 b\mathbf{b} 开始。然后,我们像形状优化一样在同一标签下迭代数值(见附录 E)。为参考起见,我们将最优输入数据标记为 (αO,lO,ω)(\alpha_{\mathrm{O}}^{**},l_{\mathrm{O}}^{**},\omega^{**}),最优旋转为 R=Q(ξ,ζ,η)R\mathbf{R}^{**} = Q(\xi^*,\zeta^*,\eta^*)\mathbf{R},最优平移为 b\mathbf{b}^{**}

步骤 5:近似质量的测量。 我们测量注册后折纸和目标表面之间顶点的最大距离,以表征近似的质量。此计算对形状优化和点优化后的表面都进行,即:

d=maxijri,j(αO,lO,1,ω)(Rri,j+b)L(16) d^* = \max_{ij}\frac{\left\lVert\mathbf{r}^{i,j}(\alpha_{\mathrm{O}}^*,l_{\mathrm{O}}^*,1,\omega^*) - (\mathbf{R}\mathbf{r}^{i,j} + \mathbf{b})\right\rVert}{L} \tag{16}

d=maxijri,j(αO,lO,ω)(Rri,j+b)L, d^{**} = \max_{ij}\frac{\left\lVert\mathbf{r}^{i,j}(\alpha_{\mathrm{O}}^{**},l_{\mathrm{O}}^{**},\omega^{**}) - (\mathbf{R}^{**}\mathbf{r}^{i,j} + \mathbf{b}^{**})\right\rVert}{L},

这里,L\langle L \rangle 表示离散化目标表面的四边形网格边的平均长度(见附录 B.2)。

评论与推广。这个两阶段优化程序成功的启发式方法是,形状优化做了大部分工作——很好地近似全局表面,除了可能在图案的一些小区域——而点优化提供了一个细化,纠正了近似不好的区域,但否则不会显著改变图案。回想一下,输入长度没有限制时,形状优化会过于灵活,导致折纸的纵横比失真,不适合实际应用(见附录 B.2 和图 B.8)。我们还发现点优化很微妙,只有当输入已经相当接近所需表面时才能产生高质量的结果。这些特点促使我们采用两阶段优化程序。我们通常希望形状优化产生的 d<1d^* < 1,这样两个表面上相似顶点之间的距离不大于网格面板的特性长度。在这种情况下,点优化通常通过轻微扰动 (α0,l0,ω)(α0,l0,ω)(\alpha_0^{**}, l_0^{**}, \omega^{**}) \approx (\alpha_0^*, l_0^*, \omega^*),经常产生质量细化 d0.5d^{**} \approx 0.50.05d0.05 \, d^*(见表 1),这一结果可能得益于折纸折叠固有的极端非线性。

最后,对于一些下面讨论的目标表面,我们选择一个不同于 Miura-Ori 的初始折纸,因为它显著提高了优化产生的近似质量。我们的选择基于折纸结构的直接数值观察,这些结构表现出有用的基本变形(见附录 C.1 和图 C.9)。我们的框架的多功能性允许我们像以前一样简单地应用逐步逆设计程序,除了用新的初始折纸替换 Miura-Ori 并修改离散化目标形状的偏移格。由于输入折纸不需要与平面或均匀离散化表面一致,我们选择这个偏移格与该表面的平均切空间重合(见附录 C.2 和图 C.10)。

3. 示例与讨论

3.1 可展开折纸的数值示例

我们在图4(a–g)中展示了针对目标曲面的逆设计框架的数值示例。在每个示例中,目标曲面以灰色叠加在变形后的最优折纸结构上。重申一下,图中展示的折纸结构是可展开的——它们可通过单一自由度(DOF)的折叠运动,从易于制造的平面状态和易于包装的折叠平放状态获得。我们用第一个示例展示了这种展开能力,其余示例可参考图C.11和补充视频S1–S7。借助我们的行进算法,对于给定的各类示例,优化过程在使用标准计算资源的情况下仅需数分钟(详见附录E)。我们还从数值角度研究了优化方案的效率。这项调查的结果如图5所示,结果表明就折纸面板的数量而言,时间复杂度为二次方。最后,表1展示了目标曲面的精确参数化(即rˉ(u,v)\bar{r}(u,v))、初始Miura - Ori和优化后最优折纸的详细信息,以及优化的计算时间。

3.1.1 曲率平缓的曲面

借助图4(a–e)中的示例,我们通过可展开折纸近似了多种光滑曲面。每个展示的示例都是通过优化得到的:从相同的24×2424\times24部分折叠的Miura - Ori开始,严格遵循上述逆设计框架。我们在此选择的目标曲面——四分之一花瓶、球冠、双曲面、二维正弦参数化和鞍面——旨在展示我们的方法所能适应的广泛曲率范围。每个曲面都用d0.1d^{**}\sim0.1的值进行近似。需要注意的是,与平面网格单元的大小相比,我们选择的曲率是平缓的,并且没有出现剧烈的变化。我们将在讨论人脸案例时更详细地阐述这一点。另外,这里的每次优化都使用附录E中概述的适度计算资源,耗时约5分钟。

3.1.2 带有尖脊的曲面

上述光滑曲面的示例是通过将部分折叠的Miura - Ori作为优化的初始状态得到的。然而,我们用于可展开折纸的行进算法具有通用性。因此,任何具有兼容输入参数(α0,I0,σ0)(\alpha_0, I_0, \sigma_0)的基础状态都可用于为逆设计框架提供初始条件。为了探究这个想法,我们首先注意到有一组输入参数比产生周期性折痕图案的Miura - Ori的参数更具一般性。这些图案在沿Miura - Ori的M - V赋值折叠时会周期性变形。不过,我们可以改变M - V赋值σ0\sigma_0,同时保持其他参数不变(见附录C.3和图C.9(a))。当我们恰好翻转其中一个这样的赋值时,行进算法会生成恰好相同的周期折痕图案,但它会折叠成两个由类似尖锐界面的东西连接起来的平面状态——这一特征让人联想到Dieleman等人(2020年)所探索的平面折痕图案的多稳定性。

我们利用这一事实来探索具有尖锐界面的目标曲面的逆设计。通过图4(f)和(g),我们考虑了两个这样的例子:一个连接圆柱体,另一个连接鞍面。在这两种情况下,优化的初始折纸都如上所述,即一个具有24×4824\times48网格单元的周期性折纸,并且第25列具有改变的M - V赋值,这在其折叠状态下会产生一个尖锐界面。优化得到的折纸能够很好地近似曲面,d0.1d^{**}\sim0.1,即使存在尖锐界面也是如此。这个结果突出的一个有趣点是,我们不受光滑性的限制。对目标曲面和折纸曲面的形状优化都获得了结构化三角剖分并进行了比较。无论目标曲面是否光滑,当且仅当两个三角剖分在刚体运动下相同时(如上所述),我们在方程(12)中具有fSh()=0f_{Sh}(\cdot)=0的性质。由于三角剖分作为曲面的基本代理,该框架本身会自动处理光滑性问题。

3.1.3 纸质模型

为了验证我们的数值结果,我们制作并折叠了四分之一花瓶、鞍面和连接圆柱体的设计。对于每个示例,我们使用激光切割机在一张315克的艺术纸卡纸上,按照模拟生成的折痕图案设计进行打孔。然后手动折叠这些纸质模型,试图匹配期望的目标形状。折叠后的形状如图4(h–j)所示。可以观察到,这些形状分别与图4(a)、(e)和(f)中的数值示例吻合得很好。

3.2 可展开折纸的挑战

自Klein等人(2007年)在水凝胶形状编程方面的开创性工作以来,开发设计原理以编程材料物理来驱动完全一般的曲面,一直是该领域的追求(Dias等人,2011年;Plucinsky等人,2016年;Van Rees等人,2017年;Aharoni等人,2018年;Griniasy等人,2019年)。在这个领域中,“制作一张脸”——其曲率具有多样且剧烈的变化——被视为一般曲面的一个值得关注的范例。因此,我们在四边形网格折纸的背景下研究这种情况(见图6)。

在转向结果之前,我们不妨岔开一下,探讨一个重要问题。出于艺术目的的计算折纸设计成果斐然(Lang,1996;Demaine和Tachi,2017),展示了近似复杂形状(昆虫/兔子/……)的能力,远超我们方法所能企及的范围。严谨的数学结果(Conti和Maggi,2008)也表明,本质上任何曲面都可以被折纸映射近似。尽管如此,艺术和数学领域都借助精细化手段推进:基础图案会被植入越来越精细的折叠机制,只要精细化程度足够,就能保证将目标形状近似到任意精度。从本质上看,这种策略直接阻碍了可制造性可折叠性的考量。相反,我们试图用一种保证可展开的折纸来近似曲面。这种区别在工程领域至关重要:折叠折痕图案以获得此类形状并非熟练折纸师的技艺体现,而是涉及电机/活性材料的简单外部载荷或致动器的作用模式,而这类模式存在实际局限性。

不幸的是,并非所有曲面都能通过我们的可展开折纸优化策略轻易近似。我们试图近似的人脸如图6(a)所示。我们首次尝试以部分折叠的Miura - Ori(36×2436\times24网格单元)作为初始折纸,但优化过程中未能得到高质量的近似结果。我们的最佳尝试如图6(b)所示。为实现这一近似,我们采用了一种呈现基本变形(沿短轴轻微弯曲)的初始折纸,这种变形最接近人脸的整体形状(见表1)。通过我们的设计框架优化后,最终得到了一种可展开的折纸结构,它能拟合人脸的全局特征,却无法捕捉鼻子处的尖锐特征。要理解原因,可观察该折纸的折痕图案(图6(b.3))。RFFQM(相容集)边界的标志是面板长度或纵横比的减小。图案的中心区域(即折叠以近似鼻子的区域)完全符合这一描述。因此,优化过程推动初始折纸向参数的相容集边界移动,在鼻子能被恰当近似之前,它就陷入了停滞。

3.3 更一般的四边形网格折纸

如果我们放宽可平折性的条件,但仍要求折纸是从平面的四边形网格折痕图案折叠而成的,会发生什么?人们通常认为参数空间会具有更强的灵活性,从而拥有更丰富的近似一般曲面的能力。我们已经将逆设计框架推广以探究这个问题。基本方法是一种从局部到全局的表征,它能得出折纸的显式参数化,类似于行进算法(marching algorithm),与方程(1)类似,但角度输入数据具有明显更多的自由度。可以证明,与可平折情况不同,在此设置中,每个内部顶点在其扇区角的选择上仅具有一个自由度。如果这些角度选择得当,并且为图案的左、下边界提供了合适的输入数据,那么整个折纸结构可以通过行进的方式显式确定。Dudte等人(2021年)最近推导出了一种相关方法。

在这一更一般的框架下,我们可以利用四边形网格折纸的参数化方法,并完全应用上述相同的优化流程,来研究曲面的逆向设计问题。我们在此设置下制作人脸的尝试被证明相当成功(图6(c))。使用与图6(b)中提供给优化的相同输入折纸,我们能够巧妙地近似人脸。之前造成很大麻烦的鼻子,现在从一个截然不同的折痕图案(图6(c.3))中呈现出来,该图案完全没有受扰动的Miura-Ori所特有的之字形特征。优化过程显然利用了内部顶点的额外自由度,以处理曲率中的尖锐对比

图6展示了可展开性约束固有的一些挑战:在相同的优化框架下,从相同的初始折纸中产生了两种明显不同的折纸,区别仅在于一种是可展开的,而另一种不可。需要明确的是,图6(c)中的折纸在平面状态和人脸状态下(理想情况下)都是无应力的,但在折叠过程中,若不引入面板应力则无法完成折叠。在实际工程固有的简单折叠模式下,这种应力能否被克服,取决于其他因素,例如面板的刚度驱动策略

关于可展开性,我们的思路可以从两方面进行改进:(1)所有用于优化的初始折纸本质上都是Miura-Ori的衍生物。但这并非必需。一些精心设计的非Miura-Ori类四边形网格图案具有多种不同的折叠方式,能形成截然不同的折叠构型(Liu等人,2021年)。由于其多功能性,我们预期将这些可折叠族作为优化算法的输入,有助于扩大能够被巧妙近似的曲面设计空间。(2)Izmestiev(2017年)提供了四边形网格可折叠性的一般性描述,但由于非局部耦合,该描述难以"行进"。如果能够克服这一困难,或许可以在不放弃可展开性的前提下放弃可平折性——而在某些领域,可平折性并非必需。

总结

本文提出了一种易于实现、高效且精准的逆向设计框架,用于通过可展开折纸结构来逼近目标曲面。我们通过计算具有平缓曲率和尖脊的曲面数值算例,阐明了本方法在效率与精度上的优势。进一步通过人脸案例的讨论,既揭示了可展开性面临的部分挑战,也展现了本框架的广泛适用性。最终,我们期望这一逆向设计框架能够获得广泛应用,并能适应工程与建筑领域中对功能性折纸结构的多样化需求,不限于曲面逼近这一方向。

图1

图1. 可展开折纸的行进算法 (a) RFQM折痕图案的设计完全由左边界和下边界提供的输入数据决定(即红色和蓝色实线,以及每个边界顶点处的M-V赋值,这是一组角度、长度和符号,对“L”形轮廓上的M-V赋值进行编码)。算法在每个左下角顶点处初始化,其中三个顶点的输入数据决定了第四个顶点(通过可折叠性)。通过行进并重复基本步骤,最终得到完整的折痕图案。由此算法产生的图案是RFQM。(b) 图案的变形由从平展状态(ω=0\omega = 0)到折叠-平展状态(ω=x\omega = x)的连续运动ω\omega表征。(c) 折叠参数ω\omega由左下角顶点(即本图中的红色虚线折痕)处的折痕切线角定义。(d) 运动的M-V赋值由每个顶点处φ\varphiφ-\varphi的选择指示(有关图例中参考颜色的解释,请参阅读者可访问的Web版本)。

图1

图2. 逆向设计示意图 (a) 离散化:目标曲面按照初始三浦折纸(Miura-Ori)的网格数量和偏移量进行离散化。(b) 形状优化:目标曲面和折纸曲面被三角化,离散化的图案度量和过程度量在待优化的相似三角形上进行比较。(c) 配准:目标曲面随后被旋转R R 并平移b \boldsymbol{b} ,以匹配形状优化步骤中的折纸图案。(d) 点优化:执行最终优化以匹配折纸顶点和配准后目标曲面的顶点,从而生成最优折纸。(有关此图中颜色参考的解释,读者请参阅本文的Web版本。)

图1

图3. 离散曲面的形状描述:(a) 参数空间中的四边形网格;(b) 参数空间中的三角形网格;(c) 配置空间中的四边形网格;(d) 配置空间中的三角形网格(复制自Van Rees等人(2018));(e) 三角形网格上的切向离散化(复制自Grinspun等人(2006));(f) 中边法向量。(关于本图图例中引用和颜色参考的解释,读者请参阅本文的网页版。)

图1

图4. 通过可展开折纸进行曲面逆向设计。数值示例:(a) 一个四分之一花瓶,及其从易于制造和包装的状态展开的结果。(b–e) 其他光滑曲面的示例:(b) 球形帽,(c) 双曲面,(d) 二维正弦曲面,(e) 鞍面。(f–g) 具有尖脊的曲面示例:(f) 连接圆柱(的曲面)和(g) 连接鞍面(的曲面)。纸模型:四分之一花瓶(a)和鞍面(e)。

图1

图5. 数值示例的时间消耗 目标曲面C的数据点是通过对同一超环面目标曲面C(表1中)进行一系列近似得到的,这些近似使用不同的折纸机M×N = 8²,10²,12²,34²。其他数据点根据表1中A-H模拟的计算时间绘制。案例C的多项式拟合给出了一个决定系数R²=0.99972的二次曲线。其他案例的时间点也接近该时间拟合曲线,这表明我们提供的优化方法具有O(MN²)的时间复杂度(针对各种目标曲面)。(关于本图图例中颜色参考的解释,读者请参阅本文的网页版。)

图1

图6. 用四边形网格折纸制作面部 (a) 从两个视角展示的目标曲面。(b) 尝试使用RFQM制作面部。这种折纸可以从平面图案折叠成图中描绘的“面部”而不产生网格面板中的内应力。(c) 状态可以通过使用在展开过程中不受约束的四边形网格折纸得到显著改善。这种折纸在平板和面部状态下都是理想的无应力状态,但只能通过拉伸面板来展开。规则分布的人脸离散点通过插值和变换从Gerig等人(2018)的源数据中重现。

图1

图B.7. 三浦折纸偏移晶格到平面目标曲面参数空间的投影。三浦折纸的参数l,w,L,W,M,N,α,ωM0 l, w, L, W, M, N, \alpha, \omega_{M0} 被选择以匹配目标曲面的尺寸(Lx,Ly) (L_x, L_y) 。偏移晶格是通过将三浦折纸投影到二维平面上得到的。通过重新缩放因子ks k_s kt k_t ,参数空间与偏移晶格相匹配,然后相应地离散化。详见正文了解细节。(关于本图图例中颜色参考的解释,读者请参阅本文的网页版。)

图1

图 B.8 球冠近似的结果:(a) 当自由优化 fSO f_{\text{SO}} 的边界长度输入数据时,会导致宽高比失真。此外,由于细微的改进,优化会很快终止。(b) 当限制 fSB f_{\text{SB}} 的边界长度输入数据(即 l0=l1 l_0 = l_1 )时,这会带来规则的宽高比和令人满意的细化结果。注意,在 (a) 和 (b) 中,fSC f_{\text{SC}} 的边界长度输入数据都是自由优化的。

图1

图 C.9 用于逼近基本变形的折纸折痕图案与折叠构型(ω=3π/4\boldsymbol{\omega = 3\pi/4})。红色和蓝色实线表示 MV 分配。(a1–a2) 平面折纸P9,8ω(π/2,3π/4) P_{9,8}^{\omega}(\pi/2, 3\pi/4) ,以及 (a3–a6) 因折叠拓扑结构变化而产生的锐界面。(b) 垂直弯曲折纸P10,8ω(π/2,3π/4) P_{10,8}^{\omega}(\pi/2, 3\pi/4) 。(c) 水平弯曲折纸P10,10ω(π/36,25π/36,π/18) P_{10,10}^{\omega}(\pi/36, 25\pi/36, \pi/18) 。(d) 扭转折纸P18,10ω(7π/18,13π/18) P_{18,10}^{\omega}(7\pi/18, 13\pi/18) 。 (关于本图图例中颜色引用参考文献的说明,读者请参考本文的网络版。)

图1

图 C.10 参数曲面的离散化。偏移量(δu,δv)(\delta_u, \delta_v)vi,jk+1\mathbf{v}_{i,j}^{k+1}的局部坐标的平均值确定,其中vi,jk+1\mathbf{v}_{i,j}^{k+1}vi,jk+1\mathbf{v}_{i,j}^{k+1}在平面(vi1,jk+1,vi+1,jk+1)(\mathbf{v}_{i-1,j}^{k+1}, \mathbf{v}_{i+1,j}^{k+1})上的投影点。(关于本图图例中颜色引用参考文献的说明,读者请参考本文的网络版。)

图1 图1

图C.11 数值算例的目标曲面、参考折痕图案及展开过程:(a) 四分之一花瓶,(b) 球冠,(c) 双曲面,(d) 二维正弦曲面,(e) 鞍形面,(f) 连接圆柱,(g) 连接鞍形面,以及(h - i) 人脸曲面。对于情况(h)和(i),我们参考图6中的可展开(h)和不可展开(i)折纸。

附录A 可展开折纸的行进算法

我们描述了用于对通过折叠RFFQM(前文定义的折纸折叠模式)获得的任意折纸结构 {γij(α0,l0,σ0,ω)i=0,,M,j=0,,N}\{\gamma^{ij}(\alpha_0, l_0, \sigma_0, \omega) \mid i = 0, \dots, M, \, j = 0, \dots, N\} 进行参数化的行进算法。此处我们的阐述力求紧凑,便于数值实现。关于公式的证明和详细推导,请参考我们之前的工作(Feng等人,2020a)。

A.1 一些初步定义

θ,φ(0,π)\theta, \varphi \in (0, \pi)(θ,φ)(π/2,π/2)(\theta, \varphi) \neq (\pi/2, \pi/2)。一个有效的山 - 谷(M - V)分配将由集合
$$ \mathcal{MV}(\theta, \varphi) = \begin{cases}

  • & \text{若 } \theta \neq \pi/2 \
  • & \text{若 } \theta = \pi - \varphi \neq \pi/2 \ \pm & \text{若 } \theta \neq \pi/2 \neq \pi - \varphi \end{cases} \quad \text{(A.1)} $$
    表示。

对于符号 σMV(θ,φ)\sigma \in \mathcal{MV}(\theta, \varphi)(表示这样的分配),我们定义折叠角度函数:

γˉTσ(ω;θ,φ)=sign[(σcosφcosθ)cosω+sinθsinφ]×arccos((σ1+cosθcosφ)cosω+sinθsinφσ1+cosθcosφ+sinθsinφcosω),γˉBσ(ω;θ,φ)=γˉTσ(ω;πφ,θ),(A.2) \begin{aligned} \bar{\gamma}_T^\sigma(\omega; \theta, \varphi) &= \text{sign}\bigl[ (\sigma \cos \varphi - \cos \theta)\cos \omega + \sin \theta \sin \varphi \bigr] \\ &\quad \times \arccos\biggl( \frac{(-\sigma 1 + \cos \theta \cos \varphi)\cos \omega + \sin \theta \sin \varphi}{\sigma 1 + \cos \theta \cos \varphi + \sin \theta \sin \varphi \cos \omega} \biggr), \\ \bar{\gamma}_B^\sigma(\omega; \theta, \varphi) &= \bar{\gamma}_T^\sigma(\omega; \pi - \varphi, \theta), \end{aligned} \quad \text{(A.2)}


其中 ω[π,π]\omega \in [-\pi, \pi],以及折叠角度乘数

μTσ(θ,φ)=σ1+cosθcosφ+sinθsinφcosφσcosθ,μBσ(θ,φ)=μTσ(πφ,θ).(A.3) \begin{aligned} \mu_T^\sigma(\theta, \varphi) &= \frac{-\sigma 1 + \cos \theta \cos \varphi + \sin \theta \sin \varphi}{\cos \varphi - \sigma \cos \theta}, \\ \mu_B^\sigma(\theta, \varphi) &= \mu_T^\sigma(\pi - \varphi, \theta). \end{aligned} \quad \text{(A.3)}

我们将使用符号 Re(γ)\mathbf{R}_{\mathbf{e}}(\gamma) 表示沿单位向量 e\mathbf{e} 旋转角度 γ\gamma右手旋转。我们会发现以下矩阵很有用:

L(θa,θb,θc)=(sinθasin(θa+θb)sin(θb+θc)sin(θa+θb+θc)sin(θa+θb)sinθcsinθbsin(θa+θb+θc)).(A.4) \mathbf{L}(\theta_a, \theta_b, \theta_c) = \begin{pmatrix} \frac{-\sin \theta_a}{\sin(\theta_a + \theta_b)} & \frac{\sin(\theta_b + \theta_c)}{\sin(\theta_a + \theta_b + \theta_c)} \\ \frac{\sin(\theta_a + \theta_b)}{\sin \theta_c} & \frac{-\sin \theta_b}{\sin(\theta_a + \theta_b + \theta_c)} \end{pmatrix}. \quad \text{(A.4)}

最后,我们始终用 e1,e2,e3\mathbf{e}_1, \mathbf{e}_2, \mathbf{e}_3 表示三维空间中的标准基向量

A.2 有效输入数据

按照图1(a)的符号约定,底部边界上的每个扇区角都必须满足αi,0,βi,0(0,π)\boldsymbol{\alpha}^{i,0}, \boldsymbol{\beta}^{i,0} \in (0, \pi)(αi,0,βi,0)(π/2,π/2)(\boldsymbol{\alpha}^{i,0}, \boldsymbol{\beta}^{i,0}) \neq (\pi/2, \pi/2)。相应地,山 - 谷(M - V)分配必须满足σi,0MV(βi,0,αi,0)\boldsymbol{\sigma}^{i,0} \in \mathcal{MV}(\boldsymbol{\beta}^{i,0}, \boldsymbol{\alpha}^{i,0})。最后,长度必须为正,即li,0>0\boldsymbol{l}^{i,0} > 0。角度和符号条件应对所有i=0,1,,Mi = 0,1,\dots, M成立,长度条件应对所有i=0,,M1i = 0,\dots, M - 1成立,其中MM是期望折痕图案的总列数。左边界受到类似的限制:要求α0,j,β0,j(0,π)\boldsymbol{\alpha}^{0,j}, \boldsymbol{\beta}^{0,j} \in (0, \pi)(α0,j,β0,j)(π/2,π/2)(\boldsymbol{\alpha}^{0,j}, \boldsymbol{\beta}^{0,j}) \neq (\pi/2, \pi/2),同时对所有j=0,1,,N1j = 0,1,\dots, N - 1l0,j>0\boldsymbol{l}^{0,j} > 0成立,这里NN是期望折痕图案的总行数。

从现在起,我们将通过角度数组α0\boldsymbol{\alpha}_0、长度数组l0\boldsymbol{l}_0和符号数组σ0\boldsymbol{\sigma}_0来表示所需的合法输入数据,其分量受到上述限制。注意,对于一个M×NM \times N的折痕图案,角度数组有2(M+1)+2N2(M + 1)+2N个分量,长度数组有M+NM + N个分量,符号数组有M+N+1M + N + 1个分量。

A.3 行进求解扇区角、长度和山-谷分配

(α0,l0,σ0)(\boldsymbol{\alpha}_0, \boldsymbol{l}_0, \boldsymbol{\sigma}_0)为有效的输入数据,并且假设我们已经行进到了(i,j)(i,j)索引(i,j>0i,j > 0),且没有出现不兼容的情况(下文将定义)。此时,角度αi1,j1,βi1,j1,αi1,j,βi1,j,αi,j1,βi,j1\boldsymbol{\alpha}^{i - 1,j - 1}, \boldsymbol{\beta}^{i - 1,j - 1}, \boldsymbol{\alpha}^{i - 1,j}, \boldsymbol{\beta}^{i - 1,j}, \boldsymbol{\alpha}^{i,j - 1}, \boldsymbol{\beta}^{i,j - 1},山-谷分配σi1,j1,σi1,j,σi,j1\boldsymbol{\sigma}^{i - 1,j - 1}, \boldsymbol{\sigma}^{i - 1,j}, \boldsymbol{\sigma}^{i,j - 1},以及长度li1,j1,li,j1\boldsymbol{l}^{i - 1,j - 1}, \boldsymbol{l}^{i,j - 1}都被指定且有效。设定:

μHi,j=μHσi1,j1(βi1,j1,αi1,j1)μVσi1,j1(παi1,j,πβi1,j) \mu_H^{i,j} = \mu_H^{\boldsymbol{\sigma}^{i - 1,j - 1}}(\boldsymbol{\beta}^{i - 1,j - 1}, \boldsymbol{\alpha}^{i - 1,j - 1}) \mu_V^{\boldsymbol{\sigma}^{i - 1,j - 1}}(\pi - \boldsymbol{\alpha}^{i - 1,j}, \pi - \boldsymbol{\beta}^{i - 1,j})

×μVσi,j1(αi1,j,βi1,j)(A.5) \times \mu_V^{\boldsymbol{\sigma}^{i,j - 1}}(\boldsymbol{\alpha}^{i - 1,j}, \boldsymbol{\beta}^{i - 1,j}) \tag{A.5}

检查以下兼容性条件: ((i,j)(i,j)顶点处的兼容性): $$ \begin{cases} \boldsymbol{\beta}^{i - 1,j - 1} + \boldsymbol{\alpha}^{i - 1,j} - \boldsymbol{\alpha}^{i - 1,j - 1} \in (0, \pi), \ |\mu_H^{i,j}| \neq 1, \ \mathbf{L}(\boldsymbol{\beta}^{i - 1,j - 1}, \pi - \boldsymbol{\alpha}^{i - 1,j}, \boldsymbol{\alpha}^{i - 1,j - 1}) \begin{pmatrix} \boldsymbol{l}^{i - 1,j - 1} \ \boldsymbol{u}^{i - 1,j - 1} \end{pmatrix}

\mathbf{0}. \end{cases} \tag{A.6} $$

如果所有这些条件都满足,设定:

βi,j=βi1,j1+αi1,jαi1,j1,σi,j=sign((μHi,j)21) \boldsymbol{\beta}^{i,j} = \boldsymbol{\beta}^{i - 1,j - 1} + \boldsymbol{\alpha}^{i - 1,j} - \boldsymbol{\alpha}^{i - 1,j - 1}, \quad \boldsymbol{\sigma}^{i,j} = -\text{sign}\bigl((\mu_H^{i,j})^2 - 1\bigr)

αi,j=arccos(σi,j2μHi,j+((μHi,j)2+1)cos(βi,j)2μHi,jcos(βi,j)+((μHi,j)2+1)),(A.7) \boldsymbol{\alpha}^{i,j} = \arccos\biggl( \frac{\boldsymbol{\sigma}^{i,j} 2\mu_H^{i,j} + \bigl((\mu_H^{i,j})^2 + 1\bigr)\cos(\boldsymbol{\beta}^{i,j})}{2\mu_H^{i,j} \cos(\boldsymbol{\beta}^{i,j}) + \bigl((\mu_H^{i,j})^2 + 1\bigr)} \biggr), \tag{A.7}

(li,j1ui1,j1)=L(βi1,j1,παi1,j,αi1,j1)(li1,j1ui1,j1). \begin{pmatrix} \boldsymbol{l}^{i,j - 1} \\ \boldsymbol{u}^{i - 1,j - 1} \end{pmatrix} = \mathbf{L}(\boldsymbol{\beta}^{i - 1,j - 1}, \pi - \boldsymbol{\alpha}^{i - 1,j}, \boldsymbol{\alpha}^{i - 1,j - 1}) \begin{pmatrix} \boldsymbol{l}^{i - 1,j - 1} \\ \boldsymbol{u}^{i - 1,j - 1} \end{pmatrix}.

或者,如果任何一个兼容性条件不满足,那么输入数据(α0,l0,σ0)(\boldsymbol{\alpha}_0, \boldsymbol{l}_0, \boldsymbol{\sigma}_0)与RFFQM不兼容,并且行进算法无法继续。

A.4 行进以获得平面折痕图案

假设(α0,l0,σ0)(\boldsymbol{\alpha}_0, \boldsymbol{l}_0, \boldsymbol{\sigma}_0)是兼容的,因此之前的行进算法已经填充了所有扇区角、长度和山 - 谷(M - V)分配。我们现在计算与平面折痕图案{xi,j(α0,l0,σ0)i=0,1,,M,j=0,1,,N}\{\boldsymbol{x}^{i,j}(\boldsymbol{\alpha}_0, \boldsymbol{l}_0, \boldsymbol{\sigma}_0) \mid i = 0,1,\dots, M, \, j = 0,1,\dots, N\}相关联的顶点。对于第一个面板(i=0,j=0i = 0, j = 0),我们设置:

x0,0=0,x1,0=l0,0e1,x0,1=l0,0Re3(β0,0)e1,(A.8) \boldsymbol{x}^{0,0} = \boldsymbol{0}, \quad \boldsymbol{x}^{1,0} = l^{0,0} \boldsymbol{e}_1, \quad \boldsymbol{x}^{0,1} = l^{0,0} \boldsymbol{R}_{\boldsymbol{e}_3}(\beta^{0,0}) \boldsymbol{e}_1, \tag{A.8}

其中Re(γ)\boldsymbol{R}_{\boldsymbol{e}}(\gamma)表示绕单位向量e\boldsymbol{e}旋转角度γ\gamma的右手旋转矩阵。

对于第一个行(i>1i > 1),我们设置:

xi,0=xi1,0+li1,0li2,0Re3(βi1,0)(xi1,1xi1,0), \boldsymbol{x}^{i,0} = \boldsymbol{x}^{i - 1,0} + \frac{l^{i - 1,0}}{l^{i - 2,0}} \boldsymbol{R}_{\boldsymbol{e}_3}(-\beta^{i - 1,0}) (\boldsymbol{x}^{i - 1,1} - \boldsymbol{x}^{i - 1,0}),

xi,1=xi,0+li,0li1,0Re3(αi,0)(xi,1xi,0).(A.9) \boldsymbol{x}^{i,1} = \boldsymbol{x}^{i,0} + \frac{l^{i,0}}{l^{i - 1,0}} \boldsymbol{R}_{\boldsymbol{e}_3}(-\alpha^{i,0}) (\boldsymbol{x}^{i,1} - \boldsymbol{x}^{i,0}). \tag{A.9}

对于其他情况(即j>1j > 1),我们设置:

xi,j=xi,j1+li,j1li,j2Re3(παi,j1+βi,j1)(xi,j2xi,j1).(A.10) \boldsymbol{x}^{i,j} = \boldsymbol{x}^{i,j - 1} + \frac{l^{i,j - 1}}{l^{i,j - 2}} \boldsymbol{R}_{\boldsymbol{e}_3} (\pi - \alpha^{i,j - 1} + \beta^{i,j - 1}) (\boldsymbol{x}^{i,j - 2} - \boldsymbol{x}^{i,j - 1}). \tag{A.10}

A.5 行进以获得折叠角

假设 (α0,l0,σ0) (\boldsymbol{\alpha}_0, \boldsymbol{l}_0, \boldsymbol{\sigma}_0) 是兼容的,并将C - E中的行进算法所得量视为已知。固定一个折叠参数 ω[0,π] \omega \in [0, \pi] 。我们分别定义水平折痕和垂直折痕的折叠角为:

γHi,j={σi,jγHi1,j如果 i0,σi,jγˉHσi,j(γVi,j1;βi,j,αi,j)如果 i=0,j0,σi,jγˉHσi,j(ω;βi,j,αi,j)如果 i=j=0,(A.11) \gamma_H^{i,j} = \begin{cases} -\sigma^{i,j} \gamma_H^{i - 1,j} & \text{如果 } i \neq 0, \\ \sigma^{i,j} \bar{\gamma}_H^{\sigma^{i,j}} \left( \gamma_V^{i,j - 1}; \beta^{i,j}, \alpha^{i,j} \right) & \text{如果 } i = 0, j \neq 0, \\ \sigma^{i,j} \bar{\gamma}_H^{\sigma^{i,j}} \left( \omega; \beta^{i,j}, \alpha^{i,j} \right) & \text{如果 } i = j = 0, \end{cases} \tag{A.11}

γVi,j=γˉVσi,j(γHi,j;βi,j,αi,j). \gamma_V^{i,j} = \bar{\gamma}_V^{\sigma^{i,j}} \left( \gamma_H^{i,j}; \beta^{i,j}, \alpha^{i,j} \right).

A.6 行进以获得变形梯度

假设 (α0,l0,σ0) (\boldsymbol{\alpha}_0, \boldsymbol{l}_0, \boldsymbol{\sigma}_0) 是兼容的,并将C - E中的行进算法所得量视为已知。假设 i<M,j<N i < M, j < N 。设置 ti,j=xi,j+1xi,jxi,j+1xi,j t^{i,j} = \frac{\boldsymbol{x}^{i,j + 1} - \boldsymbol{x}^{i,j}}{\vert \boldsymbol{x}^{i,j + 1} - \boldsymbol{x}^{i,j} \vert} si,j=xi+1,jxi,jxi+1,jxi,j s^{i,j} = \frac{\boldsymbol{x}^{i + 1,j} - \boldsymbol{x}^{i,j}}{\vert \boldsymbol{x}^{i + 1,j} - \boldsymbol{x}^{i,j} \vert} 。然后设置:

Fi,j={Fi,j1Rti,j(γVi,j)如果 i0,Fi1,jRsi,j(γHi,j)如果 i=0,j0,I如果 i=j=0,(A.12) \mathbf{F}^{i,j} = \begin{cases} \mathbf{F}^{i,j - 1} \mathbf{R}_{\boldsymbol{t}^{i,j}} \left( \gamma_V^{i,j} \right) & \text{如果 } i \neq 0, \\ \mathbf{F}^{i - 1,j} \mathbf{R}_{\boldsymbol{s}^{i,j}} \left( -\gamma_H^{i,j} \right) & \text{如果 } i = 0, j \neq 0, \\ \mathbf{I} & \text{如果 } i = j = 0, \end{cases} \tag{A.12}

A.7 行进以获得折纸结构

假设 (α0,l0,σ0) (\boldsymbol{\alpha}_0, \boldsymbol{l}_0, \boldsymbol{\sigma}_0) 是兼容的,并将C - F中的行进算法所得量视为已知。我们最终计算与折纸{yi,j(α0,l0,σ0,ω)i=0,1,,M,j=0,1,,N}\{\boldsymbol{y}^{i,j}(\boldsymbol{\alpha}_0, \boldsymbol{l}_0, \boldsymbol{\sigma}_0, \omega) \mid i = 0,1,\dots, M, \, j = 0,1,\dots, N\}相关联的顶点。这些顶点由下式给出:

yi,j={yi1,j+Fi1,j(xi,jxi1,j)如果 i0,j<N,yi1,j+Fi1,j(xi,jxi1,j)如果 i0,j=N,yi,j1+Fi,j1(xi,jxi,j1)如果 i=0,j0,xi,j如果 i=j=0.(A.13) \boldsymbol{y}^{i,j} = \begin{cases} \boldsymbol{y}^{i - 1,j} + \mathbf{F}^{i - 1,j} \left( \boldsymbol{x}^{i,j} - \boldsymbol{x}^{i - 1,j} \right) & \text{如果 } i \neq 0, j < N, \\ \boldsymbol{y}^{i - 1,j} + \mathbf{F}^{i - 1,j} \left( \boldsymbol{x}^{i,j} - \boldsymbol{x}^{i - 1,j} \right) & \text{如果 } i \neq 0, j = N, \\ \boldsymbol{y}^{i,j - 1} + \mathbf{F}^{i,j - 1} \left( \boldsymbol{x}^{i,j} - \boldsymbol{x}^{i,j - 1} \right) & \text{如果 } i = 0, j \neq 0, \\ \boldsymbol{x}^{i,j} & \text{如果 } i = j = 0. \end{cases} \tag{A.13}

A.8 兼容输入数据的引理

引理A.1(αˉ0,lˉ0,σˉ0)(\bar{\boldsymbol{\alpha}}_0, \bar{\boldsymbol{l}}_0, \bar{\boldsymbol{\sigma}}_0)是兼容的输入数据。那么当固定由符号数组σˉ0\bar{\boldsymbol{\sigma}}_0指示的山 - 谷分配时,以下两个结论成立:

  • 存在点(αˉ0,lˉ0)(\bar{\boldsymbol{\alpha}}_0, \bar{\boldsymbol{l}}_0)的一个开邻域N(αˉ0,lˉ0)R2(M+N+1)×RM+N\mathcal{N}(\bar{\boldsymbol{\alpha}}_0, \bar{\boldsymbol{l}}_0)\subset\mathbb{R}^{2(M + N + 1)}\times\mathbb{R}^{M + N},使得对于所有(α0,l0)N(αˉ0,lˉ0)(\boldsymbol{\alpha}_0, \boldsymbol{l}_0)\in\mathcal{N}(\bar{\boldsymbol{\alpha}}_0, \bar{\boldsymbol{l}}_0)(α0,l0,σˉ0)(\boldsymbol{\alpha}_0, \boldsymbol{l}_0, \bar{\boldsymbol{\sigma}}_0)是兼容的输入数据;
  • 参数化yσˉ0i,j(α0,l0,ω)=yi,j(α0,l0,σˉ0,ω)\mathbf{y}_{\bar{\boldsymbol{\sigma}}_0}^{i,j}(\boldsymbol{\alpha}_0, \boldsymbol{l}_0, \omega)=\mathbf{y}^{i,j}(\boldsymbol{\alpha}_0, \boldsymbol{l}_0, \bar{\boldsymbol{\sigma}}_0, \omega)N(αˉ0,lˉ0)×(0,π)\mathcal{N}(\bar{\boldsymbol{\alpha}}_0, \bar{\boldsymbol{l}}_0)\times(0, \pi)上对于每个M×NM\times N折纸图案的(i,j)(i,j) - 顶点都是光滑的。

证明 对于固定的山 - 谷分配σˉ0\bar{\boldsymbol{\sigma}}_0,给定兼容输入数据αˉ0\bar{\boldsymbol{\alpha}}_0lˉ0\bar{\boldsymbol{l}}_0的分量是边界扇区角对(αˉi,0,βˉi,0),(αˉ0,j,βˉ0,j)(\bar{\boldsymbol{\alpha}}^{i,0}, \bar{\boldsymbol{\beta}}^{i,0}), (\bar{\boldsymbol{\alpha}}^{0,j}, \bar{\boldsymbol{\beta}}^{0,j})和边界边长(lˉi,0,lˉ0,j,lˉi,1,lˉ1,j)(\bar{l}^{i,0}, \bar{l}^{0,j}, \bar{l}^{i,1}, \bar{l}^{1,j}),它们分别属于开集(0,π)×(0,π)(π/2,π/2)(0, \pi)\times(0, \pi)\setminus(\pi/2, \pi/2)(0,+)(0, +\infty)。为了证明存在兼容的(α0,l0)(\boldsymbol{\alpha}_0, \boldsymbol{l}_0),我们首先注意到,由于由(αˉ0,lˉ0)(\bar{\boldsymbol{\alpha}}_0, \bar{\boldsymbol{l}}_0)生成的给定图案是兼容的,山 - 谷分配σˉ0\bar{\boldsymbol{\sigma}}_0在满足有效性条件式(A.1)的小开邻域内对于αˉ0\bar{\boldsymbol{\alpha}}_0是有效的。我们还注意到,扇区角αi,j,βi,j\boldsymbol{\alpha}^{i,j}, \boldsymbol{\beta}^{i,j}和边长wi,j,li,jw^{i,j}, l^{i,j}的行进函数是连续函数,它将开集映射到开集。如果开集N(αˉ0,lˉ0)\mathcal{N}(\bar{\boldsymbol{\alpha}}_0, \bar{\boldsymbol{l}}_0)足够小,行进函数将根据有效性条件的开性确保顶点兼容性条件式(A.6)的有效性,从而确保图案上的扇区角和边长都是兼容的。因此,存在足够小的开邻域N(αˉ0,lˉ0)\mathcal{N}(\bar{\boldsymbol{\alpha}}_0, \bar{\boldsymbol{l}}_0),使得所有点(α0,l0)(\boldsymbol{\alpha}_0, \boldsymbol{l}_0)都产生有效的RFFQM图案。接下来,我们证明顶点位置函数yσˉ0i,j(α0,l0,ω)\mathbf{y}_{\bar{\boldsymbol{\sigma}}_0}^{i,j}(\boldsymbol{\alpha}_0, \boldsymbol{l}_0, \omega)对于α0,l0N(αˉ0,lˉ0)\boldsymbol{\alpha}_0, \boldsymbol{l}_0\in\mathcal{N}(\bar{\boldsymbol{\alpha}}_0, \bar{\boldsymbol{l}}_0)ω(0,π)\omega\in(0, \pi)是光滑的。对于(i,j)(i,j) - 顶点,变形方程(A.13)、由折叠角度函数方程(A.11)计算的折叠角、变形梯度方程(A.12)和先前的顶点位置,对于兼容的输入数据(α0,l0)(\boldsymbol{\alpha}_0, \boldsymbol{l}_0)(及其足够小的开邻域)是光滑的,因为式(A.11)和(A.12)是有效且光滑的。这就完成了证明。\square

附录B 优化过程细节

B.1 离散化过程

部分折叠的Miura - Ori由输入数据(aM - O,lM - O,σM - O)(\boldsymbol{a}_{\text{M - O}}, \boldsymbol{l}_{\text{M - O}}, \boldsymbol{\sigma}_{\text{M - O}})(见式(6))和折叠参数0<ωM - O<π0 < \omega_{\text{M - O}} < \pi给出。为方便记法,假设MM(列数)和NN(折纸的行数)均为偶数。此时,该输入数据对应的顶点集合(见式(8))提供了对应两个相同矩形晶格(经偏移)的平面区域的离散化(这里M/2M/2根据假设为偶数)。这个偏移晶格具有一个边长为WW(平行于单位向量ru\boldsymbol{r}_u)和边长为LL(平行于单位向量rv\boldsymbol{r}_v,且rv\boldsymbol{r}_vru\boldsymbol{r}_u正交)的矩形单胞。它还有一个相同的矩形单胞,被向量δuWru+δvLrv\delta_u W \boldsymbol{r}_u+\delta_v L \boldsymbol{r}_v偏移。这些量都是上述顶点的显式函数,即:

W=rM - O1,0rM - O0,0,L=rM - O0,2rM - O0,0, W=\vert\boldsymbol{r}_{\text{M - O}}^{1,0}-\boldsymbol{r}_{\text{M - O}}^{0,0}\vert, \quad L = \vert\boldsymbol{r}_{\text{M - O}}^{0,2}-\boldsymbol{r}_{\text{M - O}}^{0,0}\vert,


ru=1W(rM - O1,0rM - O0,0),rv=1L(rM - O0,2rM - O0,0), \boldsymbol{r}_u=\frac{1}{W}(\boldsymbol{r}_{\text{M - O}}^{1,0}-\boldsymbol{r}_{\text{M - O}}^{0,0}), \quad \boldsymbol{r}_v=\frac{1}{L}(\boldsymbol{r}_{\text{M - O}}^{0,2}-\boldsymbol{r}_{\text{M - O}}^{0,0}),


δu=rM - O0,1rM - O0,0rM - O0,1rM - O0,0ru,δv=rM - O0,1rM - O0,0rM - O0,1rM - O0,0rv.(B.1) \delta_u=\frac{\boldsymbol{r}_{\text{M - O}}^{0,1}-\boldsymbol{r}_{\text{M - O}}^{0,0}}{\vert\boldsymbol{r}_{\text{M - O}}^{0,1}-\boldsymbol{r}_{\text{M - O}}^{0,0}\vert}\cdot\boldsymbol{r}_u, \quad \delta_v=\frac{\boldsymbol{r}_{\text{M - O}}^{0,1}-\boldsymbol{r}_{\text{M - O}}^{0,0}}{\vert\boldsymbol{r}_{\text{M - O}}^{0,1}-\boldsymbol{r}_{\text{M - O}}^{0,0}\vert}\cdot\boldsymbol{r}_v. \tag{B.1}

我们将目标表面离散化,使其匹配与部分折叠Miura - Ori相关的偏移晶格。对于目标表面,我们考虑矩形域上任意正则参数化表面F(u,v)\mathbf{F}(u, v)

F(u,v)=(x(u,v),y(u,v),z(u,v)),u[uL,uR],v[vL,vR](B.2) \mathbf{F}(u, v)=(x(u, v), y(u, v), z(u, v)), \quad u\in[u^L, u^R], \quad v\in[v^L, v^R] \tag{B.2}


其中uL<uRu^L < u^RvL<vRv^L < v^R。对于基于偏移晶格的离散化,我们在此处理一般情况(尽管为简化计算,我们在计算中使用特定的偏移晶格)。在这种情况下,我们根据式(8)将Miura - Ori偏移晶格投影到平面上,公式为:

[ui,jvi,j]=[kurM - Oi,jru+cukvrM - Oi,jrv+cv],(B.3) \begin{bmatrix}u^{i,j}\\v^{i,j}\end{bmatrix}=\begin{bmatrix}k_u \boldsymbol{r}_{\text{M - O}}^{i,j}\cdot\boldsymbol{r}_u + c_u\\k_v \boldsymbol{r}_{\text{M - O}}^{i,j}\cdot\boldsymbol{r}_v + c_v\end{bmatrix}, \tag{B.3}


选择缩放因子(ku,kv)(k_u, k_v)和平移量(cu,cv)(c_u, c_v),使得矩形区域[uL,uR]×[vL,vR][u^L, u^R]\times[v^L, v^R]的中心与目标投影偏移晶格的中心重合。换句话说,平均晶格(ui,j,vi,j)(u^{i,j}, v^{i,j})的中心应与矩形区域的中心重合。因此,我们得到如下变换公式:

[kukv]=[(uRuL)/(WM/2)$vRvL)/(LN/2)],(B.4) \begin{bmatrix}k_u\\k_v\end{bmatrix}=\begin{bmatrix}(u^R - u^L)/(WM/2)\$v^R - v^L)/(LN/2)\end{bmatrix}, \tag{B.4}


[cucv]=[uLkurM - O0,0ruvLkvrM - O0,0rv].(B.5) \begin{bmatrix}c_u\\c_v\end{bmatrix}=\begin{bmatrix}u^L - k_u \boldsymbol{r}_{\text{M - O}}^{0,0}\cdot\boldsymbol{r}_u\\v^L - k_v \boldsymbol{r}_{\text{M - O}}^{0,0}\cdot\boldsymbol{r}_v\end{bmatrix}. \tag{B.5}

目标平面的投影过程如图B.7所示。注意,若严格按照上述步骤操作,部分边界点(例如(u0,2,v0,2)(u^{0,2}, v^{0,2}))会因偏移量超出给定域[uL,uR]×[vL,vR][u^L, u^R] \times [v^L, v^R]。这并非问题,因为参数方程的域可略微扩大,或者我们可略微减小缩放系数kuk_ukvk_v,以将给定域内的所有点包含进来。后者总是可行的。

B.2 关于优化过程的一些说明

我们开发了一种两阶段优化程序,可产生两种可部署的折纸结构:

  • 形状优化后:{yi,j(α0,l0,1,σM - O,ω)i=0,1,,M,j=0,1,,N},\left\{ \mathbf{y}^{i,j}\bigl(\boldsymbol{\alpha}_0^\star, \boldsymbol{l}_0^\star, \boldsymbol{1}, \boldsymbol{\sigma}_{\text{M - O}}, \omega^\star\bigr) \,\big|\, i = 0,1,\dots,M,\, j = 0,1,\dots,N \right\},
  • 点优化后:{yi,j(α0,l0,σM - O,ω)i=0,1,,M,j=0,1,,N}.\left\{ \mathbf{y}^{i,j}\bigl(\boldsymbol{\alpha}_0^\star, \boldsymbol{l}_0^\star, \boldsymbol{\sigma}_{\text{M - O}}, \omega^{\star\star}\bigr) \,\big|\, i = 0,1,\dots,M,\, j = 0,1,\dots,N \right\}.
    \tag{B.6}

当进行形状优化以获得第一个可部署折纸结构时,我们限制边界长度输入数据l01\boldsymbol{l}_0 \boldsymbol{1},仅允许对Miura - Ori边界长度进行重新缩放。这是基于数值研究中的试错法选择的。由于我们仅控制折纸的顶部顶点,额外改变边界长度的自由度会导致扭曲的纵横比和不利于可制造性或可部署性的折纸。图B.8突出了这种影响的一个例子。

需注意,与形状优化不同,在点优化中我们允许边界长度l0\boldsymbol{l}_0自由变化。这种额外的自由度通常不会产生形状优化中观察到的那种纵横比和可制造性问题。一个基本的启发式解释是:经过形状优化的折纸曲面已经是点优化的良好候选,因此(α0,l0,1,ω)(α0,l0,1,ω)\bigl\vert \bigl( \boldsymbol{\alpha}_0^\star, \boldsymbol{l}_0^\star, \boldsymbol{1}, \omega^\star \bigr) - \bigl( \boldsymbol{\alpha}_0^\star, \boldsymbol{l}_0^\star, \boldsymbol{1}, \omega^\star \bigr) \bigr\vert通常很小。

最后,在计算形状算子和衡量近似质量时,我们通过L\langle L \rangle(目标曲面四边形网格边的平均长度)对长度量进行无量纲化。明确来说,这些四边形的顶点为{r~0,0,r~1,0,r~1,2,r~0,2}\{\tilde{\mathbf{r}}^{0,0}, \tilde{\mathbf{r}}^{1,0}, \tilde{\mathbf{r}}^{1,2}, \tilde{\mathbf{r}}^{0,2}\},……等等。因此,L\langle L \rangle对这种方式定义的所有四边形的边长取平均。

{r~0,0,r~1,1,r~1,3,r~0,3},\boldsymbol{\left\{ \tilde{\mathbf{r}}^{0,0}, \tilde{\mathbf{r}}^{1,1}, \tilde{\mathbf{r}}^{1,3}, \tilde{\mathbf{r}}^{0,3} \right\}, \dots} 等等。因此L\langle L \rangle对这种方式定义的所有四边形的边长取平均。

附录C 优化过程细节

C.1 用于近似基本曲面的折纸图案

为了精确地逼近目标曲面,选择接近目标曲面的初始输入折纸是高效的。在这里,我们提供了一些实验结果,用于逼近四种类型的基本曲面:平面、垂直弯曲、水平弯曲和扭转曲面,作为选择初始输入的指导。我们遵循附录A中的符号,并应用行进算法从边界数据生成2M×2N2M \times 2N的RFFOM模式。这里边界上的折叠模式与Miura - Ori相同,即σ={+,+,,+}\sigma=\{+,+,\dots,+\},而稍后讨论改变折叠拓扑的影响。我们使用两个参数α(0,π)\alpha\in(0,\pi)β(0,π)\beta\in(0,\pi)来表示输入扇区角度,同时排除不符合行进算法框架运动学的退化情况α=β=π/2\alpha = \beta=\pi/2

  1. 平面折纸P2M,2Npl(α,β)\boldsymbol{P}_{2M,2N}^{\text{pl}}(\alpha,\beta)

    α0,0=α2,0==α,β0,0=β2,0==β,α1,0=α3,0==πβ,β1,0=β3,0==πα,α0,2=α0,4==α,β0,2=β0,4==α,α1,1=α3,1==β,β1,1=β3,1==α.(C.1) \begin{aligned} \alpha^{0,0}&=\alpha^{2,0}=\dots=\alpha, &\beta^{0,0}&=\beta^{2,0}=\dots=\beta,\\ \alpha^{1,0}&=\alpha^{3,0}=\dots=\pi - \beta, &\beta^{1,0}&=\beta^{3,0}=\dots=\pi - \alpha,\\ \alpha^{0,2}&=\alpha^{0,4}=\dots=\alpha, &\beta^{0,2}&=\beta^{0,4}=\dots=\alpha,\\ \alpha^{1,1}&=\alpha^{3,1}=\dots=\beta, &\beta^{1,1}&=\beta^{3,1}=\dots=\alpha. \end{aligned} \tag{C.1}

    注意,在这种情况下,折叠过程中曲面保持平面(见图C.9(a1)和(a2))。还要注意,当α+β=π\alpha+\beta=\pi时,这些平面折纸退化为Miura - Ori P2M,2Nmiu(α,β)\boldsymbol{P}_{2M,2N}^{\text{miu}}(\alpha,\beta)

  2. 垂直弯曲折纸P2M,2Nvb(α,β)\boldsymbol{P}_{2M,2N}^{\text{vb}}(\alpha,\beta)

    α0,0=α2,0==α,β0,0=β2,0==β,α1,0=α3,0==πβ,β1,0=β3,0==πα,α0,2j=NjNα+jN(πβ),β0,2j=NjNβ+jN(πα),α0,2j1=NjN1β+j1N1(πα),β0,2j1=NjN1α+j1N1(πβ).(C.2) \begin{aligned} \alpha^{0,0}&=\alpha^{2,0}=\dots=\alpha, &\beta^{0,0}&=\beta^{2,0}=\dots=\beta,\\ \alpha^{1,0}&=\alpha^{3,0}=\dots=\pi - \beta, &\beta^{1,0}&=\beta^{3,0}=\dots=\pi - \alpha,\\ \alpha^{0,2j}&=\frac{N - j}{N}\alpha+\frac{j}{N}(\pi - \beta), &\beta^{0,2j}&=\frac{N - j}{N}\beta+\frac{j}{N}(\pi - \alpha),\\ \alpha^{0,2j - 1}&=\frac{N - j}{N - 1}\beta+\frac{j - 1}{N - 1}(\pi - \alpha), &\beta^{0,2j - 1}&=\frac{N - j}{N - 1}\alpha+\frac{j - 1}{N - 1}(\pi - \beta). \end{aligned} \tag{C.2}

对于j=1,,N j = 1, \dots, N 。在这种情况下,折叠过程中顶面底面会在j j 方向弯曲,但保持i i 方向平直。(见图C.9(b))。

  1. 水平弯曲折纸2M,2Nhib(α,β,γ) \, {}_{\text{2}M,2N}^{\text{hib}} (\alpha, \beta, \gamma)
α0,0=α2,0==α,β0,0=β2,0==β,α1,0=α3,0==α+γ,β1,0=β3,0==βγ,α0,2=α0,4==α,β0,2=β0,4==β,α0,1=α0,3==β,β0,1=β0,3==α.(C.3) \begin{aligned} \alpha^{0,0} &= \alpha^{2,0} = \dots = \alpha, & \beta^{0,0} &= \beta^{2,0} = \dots = \beta, \\ \alpha^{1,0} &= \alpha^{3,0} = \dots = \alpha + \gamma, & \beta^{1,0} &= \beta^{3,0} = \dots = \beta - \gamma, \\ \alpha^{0,2} &= \alpha^{0,4} = \dots = \alpha, & \beta^{0,2} &= \beta^{0,4} = \dots = \beta, \\ \alpha^{0,1} &= \alpha^{0,3} = \dots = \beta, & \beta^{0,1} &= \beta^{0,3} = \dots = \alpha. \end{aligned} \tag{C.3}

其中α+β=π \alpha + \beta = \pi ,且γ(0,β) \gamma \in (0, \beta) 。在这种情况下,折叠过程中曲面会在i i 方向弯曲,但保持j j 方向平直(见图C.9(c))。这一观察结果也可在Wang等人(2016)的研究中找到。

  1. 扭转折纸P2M,2Nts(α,β)\boldsymbol {P_{2M,2N}^{ts}(\alpha,\beta)}
α2,0=MiMα+iM(πβ),β2,i,0=MiMβ+iM(πα),α2i,1,0=MiM1(πβ)+i1M1α,β2i,1,0=MiM1(πα)+i1N1β,α0,0=α0,2=α0,4==α,β0,0=β0,2=β0,4==β,α0,1=α0,3==β,β0,1=β0,3==α.(C.4) \begin{aligned} \alpha^{2,0} &= \frac{M - i}{M}\alpha + \frac{i}{M}(\pi - \beta), & \beta^{2,i,0} &= \frac{M - i}{M}\beta + \frac{i}{M}(\pi - \alpha), \\ \alpha^{2i,1,0} &= \frac{M - i}{M - 1}(\pi - \beta) + \frac{i - 1}{M - 1}\alpha, & \beta^{2i,1,0} &= \frac{M - i}{M - 1}(\pi - \alpha) + \frac{i - 1}{N - 1}\beta, \\ \alpha^{0,0} &= \alpha^{0,2} = \alpha^{0,4} = \dots = \alpha, & \beta^{0,0} &= \beta^{0,2} = \beta^{0,4} = \dots = \beta, \\ \alpha^{0,1} &= \alpha^{0,3} = \dots = \beta, & \beta^{0,1} &= \beta^{0,3} = \dots = \alpha. \end{aligned} \tag{C.4}

对于i=1,,M i = 1, \dots, M 。在这种情况下,折叠过程中曲面会呈现扭转运动(见图C.9(d))。

这些基本折纸图案是**三浦折纸(Miura - Ori)**的扰动形式,有助于直观地为近似不同目标曲面选择初始输入。然而,我们通过实验观察到:以三浦折纸作为输入,足以近似曲率变化较小的目标曲面。

在我们的实验结果中,以三浦折纸作为初始折纸时,除以下两种情况外,大多数曲面都能得到精确近似:

  • 人脸曲面的情况(我们使用Pb\boldsymbol {P^b}折纸);
  • 锐界面曲面的情况(我们使用Phb\boldsymbol {P^{hb}}折纸)。

C.2 选择偏移量

如果优化的输入折纸是一个曲面,我们仍然需要对目标曲面进行离散化。在这些情况下,我们再次使用偏移矩形晶格来离散化曲面——但这次通过与折纸求平均的方式,赋予了更合理的解释。

在此,我们描述了一种确定偏移量的方法,如图C.10所示。我们对折纸曲面上的红点采用局部基

v1ij,l=vi+1,jlvi,jl,v1jj,l=v1,j+1lv1,jl,v1cj,l=v1,N1l,nij,l=v1ij,l×v1jj,lv1ij,l×v1jj,l.(C.5) \begin{aligned} \boldsymbol v_{1|i}^{j,l} &= \boldsymbol v_{i + 1,j}^l - \boldsymbol v_{i,j}^l, & \boldsymbol v_{1|j}^{j,l} &= \boldsymbol v_{1,j + 1}^l - \boldsymbol v_{1,j}^l, & \boldsymbol v_{1|c}^{j,l} &= \boldsymbol v_{1,N - 1}^l, \\ \boldsymbol n_i^{j,l} &= \frac{\boldsymbol v_{1|i}^{j,l} \times \boldsymbol v_{1|j}^{j,l}}{\vert\vert \boldsymbol v_{1|i}^{j,l} \times \boldsymbol v_{1|j}^{j,l}\vert\vert}. \end{aligned} \tag{C.5}

现在考虑所示的相邻蓝色顶点v2j,l+1 \boldsymbol{v}_2^{j,l+1} 。该顶点相对于v2j \boldsymbol{v}_2^j 的位移由向量w2uj,l+1v1uj+w2vj,l+1v1vj+w2nj,l+1n1j w_{2|u}^{j,l+1}\boldsymbol{v}_{1|u}^j + w_{2|v}^{j,l+1}\boldsymbol{v}_{1|v}^j + w_{2|n}^{j,l+1}\boldsymbol{n}_1^j 给出,其分量由下式确定:

(w2uj,l+1,w2vj,l+1,w2nj,l+1):=[v1uj,lv1njn1j1](v2j,l+1v2j).(C.6) \left( w_{2|u}^{j,l+1}, w_{2|v}^{j,l+1}, w_{2|n}^{j,l+1} \right) := \left[ \boldsymbol{v}_{1|u}^{j,l} \cdot \boldsymbol{v}_{1|n}^j \boldsymbol{n}_1^{j-1} \right] \left( \boldsymbol{v}_2^{j,l+1} - \boldsymbol{v}_2^j \right). \tag{C.6}

需要注意的是,对于三浦折纸(Miura origami),法向分量w2nj,l+1 w_{2|n}^{j,l+1} 会消失。在某种程度上,(w2uj,l+1,w2vj,l+1) \left( w_{2|u}^{j,l+1}, w_{2|v}^{j,l+1} \right) 代表了沿切向的两个四边形网格之间的不匹配,因此我们将平均局部坐标meanj,l(w2uj,l+1,w2vj,l+1) \text{mean}_{j,l}\left( w_{2|u}^{j,l+1}, w_{2|v}^{j,l+1} \right) 称为偏移量,记为(δu,δv) \left( \delta_u, \delta_v \right)

我们还选择矩形单位胞的宽度为W=meanw2uj,l W = \text{mean}\left| w_{2|u}^{j,l} \right| ,长度为L=meanw2vj,l L = \text{mean}\left| w_{2|v}^{j,l} \right| 。给定W,L,δu,δv W, L, \delta_u, \delta_v ,就可以构造偏移矩形晶格,并用它来离散化目标曲面。

C.3 折叠拓扑的变化

在边界上从折叠拓扑σ=+ \sigma = + 变为σ= \sigma = - ,会导致行进算法出现不寻常的折叠行为。事实上,会出现折纸的尖脊,如图C.9(a.3 - a.6)所示。通过观察,左侧或下边界的折叠拓扑变化对折叠方式有不同的影响。具体来说,在图C.9(a.3)和(a.4)中,将下边界的σ=+\sigma = +改为σ=\sigma = -时,我们观察到折叠状态下ii方向出现一个“台阶”。而在图C.9(a.5)和(a.6)中,将左边界的σ=+\sigma = +改为σ=\sigma = -时,观察到折叠状态下jj方向出现“V”形变化。这两个观察结果启发我们近似具有尖锐界面的目标曲面。例如,我们在图4(f)和(g)中的结果利用了左边界的折叠拓扑变化,并得到了良好的近似效果。

附录D 近似结果

在图C.11中,我们提供了所有近似情况的最优参考和变形折痕图案,以及它们的展开图。

附录E 计算资源

我们在Matlab(R2019b)优化工具箱中使用fmincon函数,在形状和点优化中执行序列二次规划(SQP)算法。SQP求解器使用的梯度和海森矩阵通过有限差分法计算。我们在Matlab(R2019b)计算机视觉工具箱中使用pcregistercpd函数,在配准步骤中执行相干点漂移(CPD)算法。我们在图4(a - g)和图6(b)中提供的RFQM案例是在配备英特尔酷睿i7 - 9750H CPU(单线程串行)的笔记本电脑上计算的。图6(c)中的人脸案例是在北京大学高性能计算(HPC)平台(32线程并行)上计算的。

附录F 补充数据

与本文相关的补充材料可在线在https://doi.org/10.1016/j.jiso.str.2021.111224上找到。