物理引擎(刚体模拟)

前言

  以下笔记根据王华民老师的Games103课程整理得到。

刚体运动

  在物理引擎中更新刚体的运动状态,包括其在某个时刻的位置与速度(平动),角速度与姿态(转动)

1.牛顿欧拉方程

  刚体的运动可以由牛顿欧拉方程表示:
在这里插入图片描述
其中 a a a α \alpha α分别代表角速度与角加速度, q q q是四元数,根据刚体动力学欧拉方程,有 α = I − 1 ( τ − w × I w ) \alpha=I^{-1}(\tau-w\times Iw) α=I1(τw×Iw)

2.平动

  首先受力分析,对牛顿欧拉方程积分更新位置与速度,如下:
在这里插入图片描述

无法直接求上述积分,离散化,应用显式积分或隐式积分或半隐式积分更新 x x x v v v
半隐式:
在这里插入图片描述

3.转动

  类比于平动,转动的状态由姿态与角速度标识。姿态可以由转动矩阵 R R R代表,但难以定义 R R R对时间的微分,姿态也可以由欧拉角代表,但存在“万向死锁”的问题,故最终选用四元数来代表姿态。

在这里插入图片描述

4.更新流程

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值