GAMES103-Lecture 04 Rigid Body Contacts (Lab 1)

本文探讨了碰撞检测中的粒子响应、signeddistancefunction和二次惩罚法,以及RigidBodyCollisionDetection中的交叉积和矩阵表示。文章介绍了冲动法处理碰撞、摩擦力对速度的影响以及刚体运动的更新过程。此外,还涉及形状匹配和减少振荡的实现细节。
摘要由CSDN通过智能技术生成

上周公式解读

在这里插入图片描述
R为当前的状态(旋转矩阵), r i r_i ri为原本的向量
质心到作用点: R r i Rr_i Rri
perpendicular:垂直的
porportional:成比例
力矩跟他们的cross product相关
在这里插入图片描述
在这里插入图片描述
inertia tensor:惯性张量 :就是抵抗旋转的能力
同一个物体所能产生的旋转不仅仅跟力矩大小有关,跟方向也有关,产生的抵抗是不一样的(如下图,右侧旋转更快)
抵抗程度跟力矩方向有关,因此用矩阵(而非常数)来描述抵抗
在这里插入图片描述
旋转矩阵是正交矩阵
经过化简,每次求新的Inertia只需要在原本的Inertia的基础上计算即可
r i T r i r^T_ir_i riTri是一个实数
在这里插入图片描述
在附录中有最后一行公式的证明
在这里插入图片描述

Topics for the Day

在这里插入图片描述

Particle Collision Detection and Response

Signed Distance Function

在这里插入图片描述
注:第二个公式中r并不是黑体
在这里插入图片描述
当在外侧时,具体距离函数值其实不用关心
在这里插入图片描述
近似值,因为最近的点可能是蓝点
在这里插入图片描述

Quadratic Penalty Method(二次惩罚法)

当发生碰撞时,给点施加一个力推出来
N是确定方向
问题:该情况是物体穿进去才有惩罚力度
在这里插入图片描述
改进:不要等穿进去再施加力,而是加一个距离范围(缓冲空间)
overshooting:k太大,施加的力太大
在这里插入图片描述
解决思路:将k设置为一个与距离有关的函数,根据实际距离不断放大 力的大小
存在问题:当发生穿透时,会越陷越深
在这里插入图片描述

A short Summary of Penalty Method

在这里插入图片描述

Impulse Method

当碰撞检测到,速度和位置马上更新
在这里插入图片描述
先检测速度的方向是否继续往下
a:摩擦造成 V T V_T VT方向上的衰减
Coulomb’s law 库伦定理
点乘是一个标量,乘N来确定方向
在这里插入图片描述

Rigid Body Collision Detection and Response

检测部分
在这里插入图片描述
响应部分:
在这里插入图片描述
R r i × j Rr_i×j Rri×j为冲量造成的力矩
在这里插入图片描述

Cross Product as a Matrix Product

用矩阵来代替Cross Product
在这里插入图片描述
K是一个矩阵
冲量会造成点的速度的改变,冲量是作用于整个刚体的,会导致刚体的位移和旋转
vnew用impulse方法求出来,vi已知,K也可以求出来,这样可以反推冲量j
从点的速度变化得到冲量,从而整个刚体的运动
在这里插入图片描述
impulse方法要求改变某点的速度,但现在不能直接修改,所以需要找到冲量j与质心速度的关系,进而改变某点速度

在这里插入图片描述

算法详细流程

具体讲解视频地址
步骤:
1.更新每个顶点的位置,检测是否有碰撞
2.碰撞点的速度算出来,计算是否还继续往下掉(往内穿透)?
3.计算 v i n e w v_i^{new} vinew,求法向量和切向量的速度,然后关于摩擦的系数a计算,求新的两个方向的速度,然后加起来(向量的相加)
v i n e w v_i^{new} vinew是不存在的,只是中间变量,实际上应该更新v(线速度)和ω(角速度),用冲量来更新它们
4.计算K,求出冲量j
5.通过冲量来计算v和ω
总结:
因为一个模型的v是质心的速度,vi是模型上某一点的速度。我们不能直接去修改模型上某一点vi的速度,所以要借助j去修改v和w,达到修改vi的目的,求出整个兔子其他点的变化(即修改整体的运动状态)
在这里插入图片描述

Some Implementation Detail

如果有很多点碰撞,取平均值
oscillation:抖动
降低 μ N μ_N μN来减少抖动
在这里插入图片描述
在这里插入图片描述

Basic Idea

思路:先让每个点自己动(粒子模拟),动完后重新组合(再构成一个刚体)
在这里插入图片描述
c:质心
式子的含义:希望重构后的点(正方形的点)与梯形的点尽可能的近,换句话:点所重构的距离尽可能小,所有点收的尽可能少
直观上理解:约束之前和约束之后的中心点是同一个点,对每个顶点求平均值
∑ r i = 0 ∑r_i=0 ri=0:
求c:
在这里插入图片描述
求A:
A不是旋转矩阵,通过Polar Decomposition变成旋转矩阵
在这里插入图片描述
S为本地形变,R是全局旋转
在这里插入图片描述

Shape Matching

让每个点自己边,形状发生变化后,通过约束再把形状变回去(恢复刚体特性)
在这里插入图片描述

适合于摩擦精确度不是很重要
在这里插入图片描述
shape matching论文
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值