太极图形课S1第08讲:弹性物体仿真 01

好久不见。

引用自:太极图形课S1第08讲:弹性物体仿真 01_哔哩哔哩_bilibili

GitHub代码链接:GitHub - taichiCourse01/--Deformables 

gitee代码链接:averagePerson/Deformables (gitee.com) 

正文

仿真基本概念

这个可能得用到物理。。我是小白,凑凑热闹吧。

一些记号:

牛顿运动定律F=MA,把力学和运动学联系在了一起。

通过加速度来更新速度,通过速度更新位置等等。

F=MA,A也就是位置的二阶导数,没毛病

下图的u,表示位移,代入的话,会有一个二阶常微分方程?……【又是高数里的东西】

这个u,符合正弦,二阶导,还是正弦。好像是高中物理里的那个波?

 线性材料,可以用来模拟

 时间积分

直观感受一下,这个好像就是时间积分

 更具体点的话,长这样:

 那末,这个黑盒怎么写?

 都是数学,劝退……这个公式,难在哪里?

 这个积分,怎么积?

 用显示欧拉法,这是什么?——一种数值积分的方式,那数值积分又是什么?——在只知道tn时刻数据,后续时刻数据全都不知道的情况下,认为力是恒定的,就把面积转化成了一个方块的面积,就好求了。

然后,就可以:

  • 用当前的速度去更新位置
  • 用当前的力去更新加速度,用当前加速度去更新速度

就实现了用当前的计算未来的,然后不断迭代,就连续了。

虽然它很快,但是有问题——能量爆炸,比如速度,位置迅速变大,大到找不到;还比如那个猫脸,越来越大,大到无法忍受……【为啥?】

 所以,虽然概念简单,但很少用,因为会能量爆炸【为什么?】

弹幕:

【为什么增加能量,这里解释的不对。 也可能衰减到0,只是增加的可能性比较大。 其实不是增加或减少, 关键是能量不守恒,就是错的。】

【因为以直代曲的微小误差在不断累加吗?】

怎么办?超越前向欧拉法的辛欧拉法

颠倒了一下顺序,先更新的速度,再更新的位置

 可以稳定一点,比如,虽然猫头变形了,但是面积不变,能量守恒。

 总结,用显示的话,前向欧拉的少,辛欧拉的多。

有前就有后,后向欧拉法,也叫隐式欧拉法,这个又是什么?

还是同样的问题:只知道tn,不知道tn+1。隐式欧拉法是这么做的:虽然不知道tn+1,但是依旧可以用。

 弹幕

【是不是把上面两个式子当作一个方程组,未知数是xn+1和vn+1,然后解方程?】

【没错,就是解方程求未知】

【每1/60秒要解出上千个方程。。】

比如,100个点,每个点,有XYZ,三个自由度;整个系统就会有300个自由度在位置上,300个自由度在速度上,但同时也有600个方程,是可解的……

它会一直减小

 

 例子,辛欧拉法时间积分流水线

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值