/ 弹性碰撞台球模拟器
JA EN ZH
返回
接触力学模拟器

弹性碰撞台球
模拟器

调节恢复系数、重力和摩擦力,拖拽发球观察碰撞。动量守恒还是能量耗散?这正是DEM(离散元法)模拟颗粒材料的物理基础。支持触控操作。

拖拽发球 恢复系数 0–1 重力开关 DEM基础

在画布上拖拽瞄准,松开发射 / 支持触控

预设模式
参数调节
恢复系数 e0.98
重力 g (m/s²)0.0
摩擦系数0.00
球的半径20
显示选项
统计信息
动能
0
碰撞次数
0
球数
0
帧率
--
操作

理论:弹性碰撞与恢复系数

球-球碰撞速度更新公式

对于等质量两球,沿碰撞法线方向n̂(两球圆心连线的单位向量)施加冲量,速度更新为:

v₁_new = v₁ − (1+e)/2 · [(v₁−v₂)·n̂] · n̂
v₂_new = v₂ + (1+e)/2 · [(v₁−v₂)·n̂] · n̂

e=1(完全弹性碰撞)时动能完全守恒,速度法向分量完全交换。e=0(完全非弹性碰撞)时法向相对速度归零,两球以相同的法向速度运动。

墙壁反射

与墙壁碰撞时,法向速度分量取反并乘以e。启用摩擦时,切向速度也会按比例衰减。

通向离散元法(DEM)

本模拟器的接触模型是DEM的基础。工业DEM软件在此基础上加入赫兹接触刚度、滚动摩擦和粘附力,可模拟粉末压实、破碎机设计、颗粒流动和制药压片——核心碰撞算法与此完全相同。

💬 恢复系数真的这么简单吗?

🧑‍🎓
教授,把恢复系数设成1,球就会永远弹跳下去,动能完全不损失?
🎓
在模拟器里是这样。但现实中e永远小于1——即便是抛光钢球也只有e≈0.85–0.92,因为碰撞接触点会产生微变形、声波和热量。e=1只是一种有用的理想化,物理上不存在。
🧑‍🎓
那"粘性碰撞"模式e=0.1,球碰撞后是不是会粘在一起?
🎓
不会真正粘合,但法向分离速度只有碰撞前的10%,所以几乎不会弹开,看起来像是一起运动。这是DEM中"湿颗粒"粘附模型的出发点——加上粘附力项,就能模拟颗粒团聚,比如制药造粒过程中的粉末粘结。
🧑‍🎓
拖拽时显示的虚线弹道预览,是在做实际的物理计算吗?
🎓
是的。程序把拖拽量换算成初速度,然后对运动方程进行短时间的数值积分来预测弹道。这和游戏引擎里的"弹道幽灵显示"技术完全一样——《愤怒的小鸟》就用了这个原理——在工程上也真的有用,比如预测抛体落点。

什么是弹性碰撞台球模拟

🧑‍🎓
这个模拟器里,台球撞来撞去,那个“恢复系数”到底是什么呀?
🎓
简单来说,恢复系数(e)就是衡量碰撞有多“弹”的一个数。你可以把它想象成球的“弹性活力”。比如,e=1就是完全弹性的理想情况,像两个超级弹力球对撞,动能一点不损失;e=0就是完全没弹性,像两块黏土撞上就粘在一起了。你试着把滑块从1拖到0,看看球撞墙后的反弹高度变化,是不是一下子就明白了?
🧑‍🎓
诶,真的吗?那为什么我调了重力,感觉球滚得慢了,但碰撞好像没太大变化?
🎓
好问题!重力主要影响球在“滚动”阶段的运动,比如你把它调大,球加速下落就更快。但碰撞那一瞬间的“弹跳”效果,主要由恢复系数和碰撞角度决定。在实际工程中,比如设计一个缓冲包装,我们既要考虑物体掉落的高度(重力影响速度),也要考虑包装材料的弹性(恢复系数)。你试试把重力调大,然后把恢复系数设成0.5,再让球从高处落下,观察它第一次反弹和第二次反弹的高度差,就能看到能量是怎么一步步耗散掉的。
🧑‍🎓
原来是这样!那摩擦力滑块呢?我调大了摩擦力,球好像滚不远了,但它和另一个球对撞的结果会变吗?
🎓
你的观察很准!摩擦力影响的是球在桌面上“滚动”时的能量损失,比如球会慢慢停下来。但它不影响两个球“正面对心碰撞”那一瞬间的结果。不过,如果碰撞是斜着的,摩擦力就会通过影响球碰撞前的滚动速度,间接改变碰撞结果。你可以在模拟器里做个实验:先把摩擦力调到最大,轻轻推一个球去斜碰另一个静止的球,观察它们的分离角度;然后再把摩擦力调到0,用同样的力度和角度推球,看看结果有什么不同?这就是工程现场分析汽车斜向碰撞时需要考虑的因素之一。

物理模型与关键公式

本模拟器基于离散元法(DEM)的核心思想,计算两个等质量球体碰撞后的速度。关键在于沿碰撞法线方向的速度分量交换。

$$ \begin{aligned}\mathbf{v}_1^{\text{new}}&= \mathbf{v}_1 - \frac{1+e}{2}[(\mathbf{v}_1 - \mathbf{v}_2) \cdot \hat{\mathbf{n}}] \hat{\mathbf{n}}\\ \mathbf{v}_2^{\text{new}}&= \mathbf{v}_2 + \frac{1+e}{2}[(\mathbf{v}_1 - \mathbf{v}_2) \cdot \hat{\mathbf{n}}] \hat{\mathbf{n}}\end{aligned}$$

这里,$\mathbf{v}_1, \mathbf{v}_2$是碰撞前速度,$\hat{\mathbf{n}}$是从球1指向球2的单位法向量,$e$是恢复系数。当$e=1$时,公式简化为两球沿碰撞线方向的速度分量完全交换。

恢复系数$e$的严格定义,基于碰撞前后相对速度的变化。

$$ e = -\frac{v_{1n}^{\text{after}}- v_{2n}^{\text{after}}}{v_{1n}^{\text{before}}- v_{2n}^{\text{before}}}$$

$v_{n}^{\text{before/after}}$表示碰撞前后沿法线方向的速度分量。$e=1$动能守恒;$e<1$时,损失的动能转化为热能、声能和变形能。

现实世界中的应用

汽车安全与碰撞测试:在CAE仿真中,工程师使用类似的接触模型模拟车辆碰撞。恢复系数帮助量化保险杠、安全气囊等部件的能量吸收特性,而摩擦力则影响车辆碰撞后的滑行轨迹和二次碰撞风险。

制药与食品工业的颗粒处理:离散元法(DEM)广泛用于模拟药丸、谷物等颗粒在混合、输送和包装过程中的行为。调节虚拟颗粒的恢复系数和摩擦力,可以优化设备设计,防止颗粒破碎或混合不均。

体育器材设计与运动科学:分析网球、高尔夫球与球拍或地面的碰撞,恢复系数是关键参数。通过调整材料(如橡胶的e值约0.7)来改变球的弹跳性能,以满足不同比赛的需求。

地质与建筑工程:模拟山体滑坡或碎石堆的稳定性时,将岩石块简化为离散颗粒,通过设置不同的恢复系数和摩擦系数,可以预测崩塌范围和冲击力,为防护结构设计提供依据。