学习笔记N-199
动画
- 更新
- 内容块
- 85
- 阅读
- 约 2 分钟
- 路径
- 学习笔记 / 计算机图形学 / games101 / 课程
L20
动画
关键帧动画
物理模拟
质点弹簧系统
绳子,布料模拟可用
质点弹簧模型的阻尼公式:

B 点和 A 点,分别指的是 B 和 A 的一阶导数。
向量相减和向量的方向无关。和他们是否在一条直线上无关,换算成坐标相减即可,三维与二维同理。
图中进行了两次点积操作
分解相对速度,只有在 AB 方向上的速度才会引起弹簧的改变
模拟布料

粒子模拟
IK FK
正向运动学

逆运动学
难解
解不唯一 多解、无解
通过梯度和数值迭代的方法去取最优解
L22
动画仿真核心

计算粒子随时间变化的位置,本质上是求解一个一阶常微分方程
X位置
t时间
v(x,t)速度场
常微分:

给定起始位置,就可以求它在任意时刻的位置
思路:
目的:一定时间之后,点的位置在哪?
方法:把时间分成小块,计算 t 加 🔺 t 的位置,重复此过程的结果
每一步考虑的步长叫 🔺t
前向欧拉方法:

X 右上角的 T 就指的是在 T 时刻的 X
步长越小,模拟的越精确
稳定性:不稳定的原因是在速度场中的等速度线中,粒子在等速度线 中穿梭时,由于在螺旋线等曲线的局部性质,和时间无法进行匹配,导致采样率 和真实情况匹配不上,从而不能按照预定轨迹来推算出粒子运动
步长小只能降低误差,但是解决不了稳定性的问题
如下:

不稳定性的解决办法:
1.中点法:在两次速度采样中计算平均值

从直线校正为了曲线,因为他们的终点 B 在上面,也避免了 a 错误

2.中点法的第二种解决方法也叫自适应步长:
现在不是第一次欧拉方法加中点方法等于结果了,而是根据终点误差估计,动态调整步长大小,在终点位置上重新估计的方法。不同于之前的相加。
如下

3.隐式/反向欧拉方法:

这里的 t 和 🔺 t 都是未来的
牛顿法

方法稳定性的程度,龙格库塔方法大于中点法,大于显性欧拉法
龙格库塔方法:RK4,适合处理非线性问题

数值分析课程内容
刚体

流体模拟


质点法
网格法
