Games101课程笔记_lecture22_欧拉视角、拉格朗日视角与物质点法
- 1 Single Particle Simulation
- 1 常微分方程:ODE
- 2 Euler's Method欧拉方法
- 3 解决不稳定的方法
- 1 中点法
- 2 Adaptive Step Size
- 3 隐式欧拉方法
- 4 Runge-Kutta Familie
- 图形学要使用的课程
- 5 Position-Baseed / Verlet Intergration
- 2 Rigid Body Simulation刚体仿真
- 3 Fluid simulation
- 1 拉格朗日方法和欧拉方法
- 2 物质点方法
- 4 总结
- 下一步怎么学
实时渲染和离线渲染
1 Single Particle Simulation
速度场:
任何一个位置任何时间知道这个点的速度。
1 常微分方程:ODE
2 Euler’s Method欧拉方法
上一个位置有个位置,速度,加速度
上一帧的位置+上一帧的速度*一帧的时间
所有的量都用上一帧的,
问题是:非常不稳定。
存在下面两个问题:
- Euler method error欧拉误差
- 不稳定性
一定会离开这个螺旋桨的速度场,取步长后粒子肯定会出去。
欧拉方法肯定有误差并且不稳定;大家都在解决这个不稳定性。
Diverge.
3 解决不稳定的方法
1 中点法
核心是用的欧拉方法
第一次得到中点的读速,第二次使用
a点是一般欧拉方法算出来的
c点是中点法算出来的
模仿出来了一个抛物线,原本的欧拉方法上加了个局部的二次模型。
2 Adaptive Step Size
把时间考虑的再短点,每次跑一半的时间。
分两段时间,如果两个结果接近,就没有必要分了。
3 隐式欧拉方法
用下一帧的速度,加速度,但是不知道,你用的是未来的属性。
不好解,但是可以提供很好的稳定性。
衡量稳定性:
局部误差/每步发生的误差
整体误差/
但是应该研究它的阶,这个才有价值
阶数越高越好
研究数值方法,来研究他们的稳定性。
稳定性和阶数之间的关系。
4 Runge-Kutta Familie
图形学要使用的课程
数值分析
信号处理
解常微分方程
k1,k2,类似于速度场,不同的时间,不同的位置,相当于中点法的扩展。
5 Position-Baseed / Verlet Intergration
不是基于物理的,流体模拟是基于物理的方法。
有很大的能量损失。
作业8要使用
2 Rigid Body Simulation刚体仿真
不会发生形变
一个刚体的运动其实就是一个粒子的运动
但是会考虑跟多的模拟量
位置,朝向,速度,角速度。
用欧拉方法就可以计算出任何一个时间t后刚体的速度
3 Fluid simulation
先去模拟,再去渲染。只要模拟出不同的小球的位置,就可以渲染出水,浪花。
水不可压缩,
任何一个时刻,
移动小球的位置,将任何位置密度不正确的地修改回去
梯度下降。
改各个点不同的位置,
小水滴,
1 拉格朗日方法和欧拉方法
拉格朗日方法—质点法。看成一个个的粒子。以粒子的视角来看。
欧拉方法-和刚才那个解常微分方程不是一回事–网格法
分割成不同的网格。网络里的密度如何变化,盯着各自来看。分成网格,以网格的视角来看。
2 物质点方法
质点法和网格法视角一起使用。物质点方法
4 总结
下一步怎么学
实时渲染–realtime 书,再加OpenGL的书一起学习。
一切光栅化的东西都没有问题。
几何的东西—微分几何 ,离散微分几何,拓扑
光学传播—有各种各样的资源。
模拟仿真—胡渊鸣大神课程专门讲。
多参加会议,参会—收获会很大。以不同的身份去参加会议就可以了。
两个会议:
还有两门课:实时渲染+离线渲染