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

编程入门 行业动态 更新时间:2024-10-13 14:24:47

<a href=https://www.elefans.com/category/jswz/34/1769577.html style=太极图形课S1第08讲:弹性物体仿真 01"/>

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

好久不见。

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

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

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

正文

仿真基本概念

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

一些记号:

牛顿运动定律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个方程,是可解的……

它会一直减小

 

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

 

 

更多推荐

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

本文发布于:2024-02-07 03:09:45,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1753126.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:太极   物体   弹性   图形

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!