四面体身体
二维 Delaunay(Bowyer–Watson)剖出瓜面的三角网,沿厚度挤出成棱柱再切成四面体, 当前 — 个单元、— 个粒子。 每个单元用共旋弹性拉向"最佳旋转后的静止形状",被翻转也能自己翻回来; 体积约束让它接近不可压缩,拉长时会收腰。
材料研究 / 第 009 号
一片三角切分的凝胶体。弹性由四面体弹簧给出,
光线按厚度被吸收,刀落之后它仍是果冻。
全部几何在加载时现场生成,每次形状一致。
WEBGPU · 实时
设备检查
当前浏览器没有提供 navigator.gpu。请使用 Chrome 113+ 或 Edge 113+ 等已默认开启 WebGPU 的浏览器,然后重新载入本页。
实验无法开始:几何、物理与着色都跑在 GPU 上。
手掌 · 抓住果冻向外拖可拉伸,滚轮扭转抓取的果肉
空白处 · 拖动环绕,滚轮缩放,双击回默认机位
切刀 · 在瓜面横划一道,松手落刀
空格 暂停 · N 轻推 · R 重置 · K 切刀 · H 手掌
| 质量 | — | 克 |
|---|---|---|
| 体积 | — | % 静止态 |
| 动能 | — | 微焦 |
| 块数 | — | 块 |
| 帧率 | — | fps |
换算:1 模拟单位 ≈ 3.5 cm,密度按 1.3 g/cm³ 计, 故 1 单位³ = 3.5³ cm³ ≈ 42.9 cm³ ≈ 55.7 克;动能以微焦(µJ)显示。
二维 Delaunay(Bowyer–Watson)剖出瓜面的三角网,沿厚度挤出成棱柱再切成四面体, 当前 — 个单元、— 个粒子。 每个单元用共旋弹性拉向"最佳旋转后的静止形状",被翻转也能自己翻回来; 体积约束让它接近不可压缩,拉长时会收腰。
刀面由屏幕笔画在表面高度反投影得到,再按该块当前姿态的最佳旋转变换回静止平面, 用 Sutherland–Hodgman 在半平面裁出带圆角的两半。 新网格与 GPU 缓冲在刀落下之前就已建好,所以切穿那一帧只是原子替换。
籽、气泡与外壳的每个渲染顶点都持有一组重心坐标,绑定到某个四面体; 单元怎么变形,它们就怎么跟着走。房子果冻的门窗、屋顶同样绑在静止坐标系里, 被拉伸时会一起撕开,而不是浮在表面。
先渲染背面深度估计视线穿过的厚度,再按 Beer–Lambert 吸收着色: 浅层更乳白,薄边在逆光处透出泛红背光,叠上 Fresnel 反射与 GGX 高光。 环境由解析函数给出——无缝背景、头顶柔光箱、左后条形灯、右前补光板。