Conference

Real-time Wing Deformation Simulations for Flying Insects

Qiang Chen, Zhigang Deng, Feng Li, Yuming Fang, Tingsong Lu, Yang Tong, Yifan Zuo

Jiangxi University of Finance and Economics; University of Houston

一句话总结

提出一个由虚拟骨架驱动的实时框架,通过变形波传播、内外双力弯曲模型与质点弹簧弹性模拟,逼真再现多种飞行昆虫(蝴蝶、蛾、萤火虫等)翅膀在扑翼过程中的复杂变形。

研究背景

飞行昆虫的翅膀在扑翼飞行中会沿弦向(camber,拱起)和展向(twist,扭转)发生显著变形,这些细微变形对昆虫的空气动力学效率至关重要,也在动画、虚拟现实与娱乐领域有广泛应用价值。然而由于翅膀结构复杂多样、变形模式精细,该方向在计算机图形学中长期研究不足。

以往工作大多把翅膀当作刚体,用多边形方法模拟扑翼运动(如周期函数、比例微分控制器、强化学习细化等),能生成合理的翅身交互,却无法刻画翅膀本身的柔性变形。同时,直接套用薄壳模型或标准布料仿真也不足以捕捉昆虫翅膀特有的变形特征:一是弦向与展向的大幅变形,二是运动通常始于翅膀前缘,形成从翅根到翅尖、从前缘到后缘的独特“变形波传播”现象。作者针对这一空白,提出实时、骨架驱动、便于美术工作者在工业实践中使用的方案。

方法

整体框架分三步:先为翅膀构建反映其形态拓扑的虚拟骨架;再基于骨架依次模拟变形波传播、内外双力驱动的弯曲效果、以及质点弹簧刻画的弹性;从而生成逼真的翅膀变形。

flowchart LR
    A["构建虚拟骨架<br/>径向关节链 + 双四元数蒙皮"] --> B["变形波传播<br/>纵向波 + 横向波(延迟)"]
    B --> C["弯曲模拟<br/>内力(周期振荡)+ 外力(气动升/阻力)→ 关节力矩"]
    C --> D["弹性模拟<br/>质点弹簧 + 隐式积分"]
    D --> E["实时翅膀变形结果"]

关键设计一:径向虚拟骨架。沿前缘构建一条主关节链模拟臂状运动,再从翅根向翅尖辐射出多条关节链以表达变形波。经验上每翼至少三条链、每条链至少三个关节,且各链关节数相等以简化美术流程。骨架建好后用双四元数蒙皮绑定翅面网格,并预计算每个关节到其影响顶点的映射。

关键设计二:变形波传播。一个扑翼周期含拍打(flapping)、扫掠(sweeping)、羽化(feathering)三种旋转运动。纵向波用余弦函数描述周期运动:

\[W(t) = A\cos(2\pi f t + \varphi)\]

横向波则让前缘主链先启动,其余各链依次延迟跟随。第 \(i\) 条链相对主链的延迟为:

\[\Delta t(r_i) = \frac{1}{2f}\frac{\lVert r_i - r_1\rVert}{\lVert r_n - r_1\rVert}\]

整合纵横两种波后,各关节链的驱动为:

\[W_i(t, r_i) = A\cos\!\left(2\pi f\,\lbrace t - \Delta t(r_i)\rbrace\,\Pi\lbrace t - \Delta t(r_i)\rbrace + \varphi\right)\]

其中 \(\Pi(\cdot)\) 为 Heaviside 阶跃函数,用于阻止相对时间取负(即该链尚未开始拍打)。

关键设计三:内外双力弯曲。通过对关节施加力并计算力矩来实现弯曲。第 \(i\) 个关节的力矩为:

\[\tau_i = \hat r_i \times \left(F_i^{in} + \sum_j \frac{F_{ij}^{ex}}{3} + m_i g\right)\]

内力 \(F^{in}\) 由翅膀谐振运动反推得到,其振幅与频率随昆虫体速在每个周期起点动态更新(起飞或爬升时振幅更大):

\[F_{i,t}^{\ast} = -2 m_i \left(2\pi f^{\ast}(u_t)\right)^2 A^{\ast}(u_t)\cos\!\left(2\pi f^{\ast}(u_t) t\right) e^{\ast}, \quad \ast \in \lbrace\text{flapping, feathering, sweeping}\rbrace\]

外力 \(F^{ex}\) 为简化的准定常气动力,按三角面计算升力与阻力:

\[F_{i,l} = \tfrac{1}{2}\rho s_i \lVert V\rVert^2 l(\alpha), \qquad F_{i,d} = \tfrac{1}{2}\rho s_i \lVert V\rVert^2 d(\alpha)\]

升/阻力系数由局部迎角 \(\alpha = \arctan(\lVert V_n\rVert / \lVert V_t\rVert)\) 经验拟合的多项式确定,气动力再平均分配到三角面三个顶点并按蒙皮权重汇聚到关节。

关键设计四:弹性模拟。用质点弹簧基于胡克定律构建能量函数 \(E(r) = \tfrac{1}{2}k_e(\lVert r_i - r_j\rVert - L)^2\) 防止翅膀过度扭转,并采用隐式数值积分(转化为优化问题,用 Newton-Raphson 求解)保证稳定性。

实验结果

方法用 Unity 3D(C#)实现,在 Intel Xeon W-1290P、64G 内存的普通 PC 上运行,模拟时间步为 0.02。对四种昆虫的弹性参数、翅面网格三角数与实时帧率如下。

昆虫 弹性系数 \(k_e\) 翅面网格三角数 模拟帧率(FPS)
帝王蝶(Monarch) 1 4192 100
萤火虫(Firefly) 2 12568 172
鱼蛉(Fishfly) 0.5 1210 160
石纹灯蛾(Painted lichen moth) 1.8 1648 150

所有案例均达到实时。与真实昆虫视频的对比显示,模拟的变形波传播、萤火虫的旗帜状变形、灯蛾翅尖近似杯形的柔性变形等均与真实观察相似。用户研究招募 40 名志愿者,用成对比较评估三种方案:完整方法、去掉变形波传播的消融版、以及此前的蝴蝶飞行方法。结果显示完整方法得票显著最多,且经双尾单样本 t 检验,完整方法显著优于消融版,消融版又显著优于此前方法。此外该模型还成功迁移到海洋鱼类鱼鳍运动的模拟,展示了泛化能力。

亮点与局限

亮点:首次系统性地针对飞行昆虫翅膀的“变形波传播”现象设计实时仿真算法;提出内外双力(周期振荡内力 + 简化气动外力)的力驱动弯曲模型,配合质点弹簧弹性,能在单机上以 100+ FPS 模拟多种昆虫;骨架驱动加双四元数蒙皮的方案便于美术工作者上手,实用性强;模型可泛化到鱼鳍等具有相似结构的动物运动。

局限:骨架目前需手工设计,未考虑翅脉网络的精确功能;由于难以获取真实昆虫飞行的地面真值,模型参数只能凭经验设定,无法做定量标定与评估;作者也坦承方法未必在科学或物理上严格正确,目标是生成视觉上可信的变形。

延伸思考

这项工作体现了图形学中“视觉可信优先于物理精确”的实用主义路线:在缺乏真值、机理复杂的领域,用生物启发的骨架加简化力学模型,就能高效换取以假乱真的动画效果。其变形波传播的建模思路(前缘起振、逐链延迟)对其他具有波状柔性运动的对象(如鳍、旗帜、叶片)也有借鉴意义。作者提出的未来方向——用机器学习从二维翅膀图像提取翅脉拓扑、据此自动生成更精确骨架并优化翅面——很有潜力,若能进一步结合可微仿真与真实高速摄影数据做参数标定,则有望把“视觉可信”推进到“物理可信”,并支撑层流与涡流的气动分析可视化。