Woodstock: Interactive Modeling of Fungal Wood Decay
Purdue University; Kiel University; Samsung; KAUST; Adam Mickiewicz University
一句话总结
Woodstock 把菌类侵蚀、水分传输和木材力学耦合到同一套 strand(木纤维束)/rod-element 的体积表示上,交互式地模拟出白腐、褐腐两类真菌导致的木材空心化、立方开裂、干缩断裂直至倒塌的全过程。
研究背景
- 领域现状:树木的形态与外观建模在图形学里已有大量工作,从 L-system 到机器学习推断、从风致运动到燃烧断裂都有涉及;近年也出现了 strand-based 的体积化木材表示(如 Li 等人的”应力树”断裂框架)与木纹外观建模。
- 核心痛点:已有方法要么只关注木材表面外观/年轮,要么只做机械驱动的断裂,几乎没有把复杂的反应扩散系统(真菌生长)与木材各向异性的干缩、开裂耦合起来。特别是白腐的纤维状拉丝、褐腐的立方块状开裂这类由木材内部化学成分分解主导的不同腐朽形态,此前没有方法能模拟。
- 本文 idea:提出一个统一的多尺度体积框架,把树建模成 strand 与 rod element 的集合,在同一套离散化上同时推进「力学求解 + 水分传输 + 真菌反应扩散 + 组织健康状态」,用双向反馈闭环把生物过程与机械失效连起来。
方法
整体框架分四个耦合模块(共享同一套 rod-element 离散结构 REG):从骨架图 \(G\) 构造 strand 束与 rod-element 图(REG)作为公共数据结构;力学模块用 XPBD/Cosserat rod 演化杆件状态;木材状态模块推进水分 \(M\) 与宿主健康(碳水 \(H_c\)、木质素 \(H_l\)、化学防御 \(C\));真菌模块以反应扩散方式推进白腐活度 \(R_w\) 与褐腐活度 \(R_b\)。四者互相驱动,形成闭环。
flowchart LR
A["骨架图 G + 截面轮廓"] --> B["strand 束 SG"]
B --> C["rod-element 图 REG(共享离散化)"]
C --> D["力学模块:Cosserat + XPBD"]
C --> E["木材状态:水分 M / 健康 Hc,Hl,C"]
C --> F["真菌模块:白腐 Rw / 褐腐 Rb"]
F -->|消耗基质、诱导防御| E
E -->|干缩、失效阈值 L(M)、完整度 Iij| D
D -->|断裂、连通性更新| C
关键设计:
-
strand 体积表示与两阶段 XPBD 力学。每段木材是一束固定半径的 strand,采样成 rod particle 与 rod segment,相邻 rod element 通过”最小距离路径”连成 REG 边表达体积连通性。力学每步分两阶段:Stage 1 在每条 strand 链上解 Cosserat rod(弯曲、扭转、剪切/拉伸),Stage 2 用 Stage 1 的结果初始化、在 REG 上解连接约束 \(C_{\text{connect}}(\boldsymbol{p}_i,\boldsymbol{p}_j)=\lVert \boldsymbol{p}_i-\boldsymbol{p}_j\rVert-\Delta\boldsymbol{p}\)。失效通过”完整度标志位”关闭约束实现:应变超限即断开对应连接,允许分离并重算连通分量;断裂后的碎块用胶囊排斥力与逐粒子摩擦做接触,堆积成碎屑。
-
白腐 / 褐腐的差异化反应扩散。两类真菌都写成”局部饱和增长 − 化学抑制 + 扩散”的反应扩散方程。白腐同时消耗木质素和碳水,且带一个米氏形式的碳水可及性因子 \(\tfrac{H_c}{K_c+H_c}\),保证没有足够碳水时不能扩张;褐腐则只由碳水 \(H_c\) 驱动增长(保留木质素残余)。生长速率再被水分通过一个 smoothstep 窗口函数 \(\alpha_{w,b}(M)\) 调制——太干或太湿都不长,只有中间湿度区间才达到基线速率。这解释了褐腐”干缩→立方开裂”与白腐”弥散软化→拉丝”两种截然不同的宏观形态。
-
组织健康、化学防御与水分传输。碳水/木质素以一阶消耗动力学被真菌活度按比例消耗,并带一个正比于防御 \(C\) 的恢复项。化学防御 \(C\) 自身是带诱导、衰减、扩散的抑制场:真菌活度越高诱导越强,抑制又反过来乘性地压制真菌活度,从而能复现”防御累积→侵蚀前沿被暂时钉住→防御衰减后重新侵蚀”的行波行为。水分 \(M\) 按扩散加有界源汇项演化,且有效扩散率随组织退化(健康 \(H\) 下降)而增大——腐坏区域水分更快均衡。作者在附录给出这些量始终保持在 \([0,1]\)(或指定区间)内的证明。
-
水分→力学耦合与立方开裂先验。水分低于临界阈值 \(M_0\) 时,按 \((M_0-M)_+\) 缩短 REG 静止偏移 \(\Delta\boldsymbol{p}\) 与 rod 静止长度,制造内部不相容应力触发干缩开裂;同时用单调映射 \(L(M)=L_0 f(M-M_2)\) 缩放各类应变限。为在 log/tree 尺度上稳健复现褐腐的立方碎块,作者在木材局部坐标里建一棵 BSP 树给每个 rod element 分配 cell,跨 cell 的 REG 边被标为”潜在弱面”(指示子 \(\theta_{ij}\)),并进入完整度更新 \(I_{ij}=\big(1-\theta_{ij}k_c(1-H_c)\big)\big(1-k_l(1-H_l)\big)\):碳水流失主要沿 BSP 边界削弱连接(→立方块),木质素流失则与分区无关地各向同性削弱(→弥散软化)。
实验结果
论文以定性验证为主,没有大规模定量对标基线的表格;最接近”定量主实验”的是对数值离散化/时间步的敏感性分析,用 SSIM 衡量把时间步减半后渲染结果的一致性:
| 状态 | 对比设置 | SSIM |
|---|---|---|
| 开裂阶段 | 默认时间步 vs 时间步减半 | 0.9984 |
| 深度腐坏阶段 | 默认时间步 vs 时间步减半 | 0.9868 |
空间上,把 rod 采样稀疏到 2× 和 4×,虽然断裂面几何细节变化,但”水分流失→内部开裂→腐朽碎裂”的整体定性行为在三种分辨率下保持一致。其余实验均为定性:褐腐在富碳水的边材产生立方开裂、白腐深入富木质素的心材造成空心化的双向竞争(同一根 log 两端接种);沿木纹方向各向异性扩散的侵蚀前沿;不同环境湿度下同一棵树的断裂差异(越干越脆、越早倒塌);以及复现实验室观测到的”屏障效应”——随抑制/诱导比 \(\beta/\kappa\) 增大,质量损失曲线出现明显的中间平台期再重新加速。
亮点与局限
- 亮点:
- 首个把真菌生物过程、水分传输与 strand-based 木材力学在同一离散化上双向耦合的框架,能可控地产出白腐空心化 vs 褐腐立方开裂两种典型形态。
- 涌现出与真实观测吻合的现象(屏障效应、各向异性侵蚀路径、干湿不同的失效模式),并给出状态变量有界性的证明。
- C++/Vulkan GPU 实现,可交互预览断裂与腐朽演化,便于艺术控制。
- 局限:
- 所有生物物理方程是现象学的,为复现宏观行为而设计,不从第一性原理推导,也未做物种级标定;不显式模拟微观结构塌陷、密度变化或空洞形成。
- 生物场用显式前向 Euler,力学与生物用不同步长,缺乏从迭代步到真实时间的标定映射。
- 褐腐立方开裂依赖 BSP 程序化预分区,而非真正从材料各向异性与应力中自发涌现;接触用局部罚函数、无连续碰撞检测,极快碎块可能穿透或抖动。
延伸思考
这项工作是 Li 等人 strand-based 断裂树建模(”Stressful Tree Modeling”)的自然延伸——把纯机械断裂扩展成生物-力学耦合的腐朽过程,延续了 Michels/Pirk/Benes/Pałubicki 这条”树木动力学”研究线(风、燃烧、萎蔫、断裂)。作者点出的未来方向也很清晰:引入软腐、昆虫、微生物竞争等更多侵蚀因子;让立方开裂真正从应力与各向异性中涌现而非靠 BSP 预分区;以及从扫描/实测腐朽样本做数据驱动的参数估计,使其从”视觉可信”走向”预测可靠”。对做数字森林、生态仿真或影视/游戏资产老化的场景,这套可交互、可控的腐朽 pipeline 有直接价值。