项目空间

学习笔记N-199

动画

更新
内容块
85
阅读
约 2 分钟
路径
学习笔记 / 计算机图形学 / games101 / 课程

L20

动画

关键帧动画

物理模拟

质点弹簧系统

绳子,布料模拟可用

质点弹簧模型的阻尼公式:

动画 · 图 1

B 点和 A 点,分别指的是 B 和 A 的一阶导数。

向量相减和向量的方向无关。和他们是否在一条直线上无关,换算成坐标相减即可,三维与二维同理。

图中进行了两次点积操作

分解相对速度,只有在 AB 方向上的速度才会引起弹簧的改变

模拟布料

动画 · 图 2

粒子模拟

IK FK

正向运动学

动画 · 图 3

逆运动学

难解

解不唯一 多解、无解

通过梯度和数值迭代的方法去取最优解

L22

动画仿真核心

动画 · 图 4

计算粒子随时间变化的位置,本质上是求解一个一阶常微分方程

X位置

t时间

v(x,t)速度场

常微分:

动画 · 图 5

给定起始位置,就可以求它在任意时刻的位置

思路:

目的:一定时间之后,点的位置在哪?

方法:把时间分成小块,计算 t 加 🔺 t 的位置,重复此过程的结果

每一步考虑的步长叫 🔺t

前向欧拉方法:

动画 · 图 6

X 右上角的 T 就指的是在 T 时刻的 X

步长越小,模拟的越精确

稳定性:不稳定的原因是在速度场中的等速度线中,粒子在等速度线 中穿梭时,由于在螺旋线等曲线的局部性质,和时间无法进行匹配,导致采样率 和真实情况匹配不上,从而不能按照预定轨迹来推算出粒子运动

步长小只能降低误差,但是解决不了稳定性的问题

如下:

动画 · 图 7

不稳定性的解决办法:

1.中点法:在两次速度采样中计算平均值

动画 · 图 8

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

动画 · 图 9

2.中点法的第二种解决方法也叫自适应步长:

现在不是第一次欧拉方法加中点方法等于结果了,而是根据终点误差估计,动态调整步长大小,在终点位置上重新估计的方法。不同于之前的相加。

如下

动画 · 图 10

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

动画 · 图 11

这里的 t 和 🔺 t 都是未来的

牛顿法

动画 · 图 12

方法稳定性的程度,龙格库塔方法大于中点法,大于显性欧拉法

龙格库塔方法:RK4,适合处理非线性问题

动画 · 图 13

数值分析课程内容

刚体

动画 · 图 14

流体模拟

动画 · 图 15
动画 · 图 16

质点法

网格法

动画 · 图 17