物理与交互
物理引擎与指针交互:刚体碰撞、弹簧、单摆、轨道、绳索、软体、沙漏与磁场——每个都能拖动并实时读出能量、周期等物理量。
技术栈: matter-js@0.20, Verlet / RK4 积分, Pointer Events
- Matter.js 物理引擎 — 真实刚体引擎:重力、冲量碰撞、弹性与摩擦。
- 拖拽排序 — 看板拖拽排序,卡片用临界阻尼弹簧动画归位。
- 磁吸与光标跟随 — 磁吸按钮(距离衰减)+ 弹簧跟随光标与拖尾。
- 弹球墙 — 重力 + 恢复系数的弹球,球间动量守恒碰撞。
- 多重力 — 多个软化平方反比引力井中的 500 个粒子。
- 弹簧链 — 胡克定律弹簧质点链,看周期与能量。
- 碰撞盒 — AABB 碰撞检测 + 冲量与摩擦,盒子可堆叠。
- 漂浮气泡 — 斯托克斯定律:大泡比小泡升得快 (r²)。
- 摆锤 — RK4 非线性单摆,阻尼 + 共振驱动。
- 沙漏粒子 — 颗粒元胞自动机沙漏,流量遵循 Beverloo 定律。
- 磁力点 — 磁针阵列显示多磁极叠加的磁场与磁感线。
- 弹性绳 — Verlet 积分 + 距离约束的悬挂绳索。
- 台球 — 等质量弹性碰撞与滚动摩擦,停止距离 v²/2μg。
- 轨道物理 — 速度 Verlet 辛积分的开普勒轨道。
- 软体感 — 弹簧质点 + 内部气体压强的果冻软体。