3D数学-四元数
- 欧拉角的缺陷
- 同一旋转的表示不唯一
- 万向节死锁
- 两个轴重合时,失去一维的调节能力
- 四元数是什么
- 四元数构成
- 超复数:实数+三个虚数单位
- [W,V]标量+3维向量
- 轴角对
- [cos(b/2),sin(b/2)*n],n为轴向量,b为旋转角度
- Unity四元数
- Quaternion
- 初始化
- new Quaternion(sin(b/2)x,sin(b/2)y,sin(b/2)z,cos(b/2))
- Quaternion.AngleAxis(角度,轴)
- 角度四元数转换
- Quaternion.Euler(x,y,z)
- Quaternion q; q.eulerAngles
- 四元数解决欧拉角缺陷
- 四元数构成
- 四元数常用方法
- 单位四元数:无旋转
- Quaternion.identity
- 插值运算
- Quaternion.Slerp
- 实现匀/变速转动
- 向量转换四元数
- Quaternion.LookRotation(Vector3 n)
- 练习
- c#拓展方法
- 匀变速运镜
- 单位四元数:无旋转
- 四元数计算
- 四元数相乘
- 旋转量叠加
- 四元数乘向量
- 旋转向量
- 练习
- 模拟飞机发射不同类型的子弹
- 按数字键切换发射模式
- 不同模式实现方法
- 利用四元数相乘旋转设置子弹实例化的方向
- 摄像机跟随效果
- 需求
- 摄像机在人物斜后方,通过角度控制斜率
- 通过鼠标滚轮控制摄像机距离人物的距离
- 摄像机看向人物头顶一个位置
- Vector3.Lerp实现相机跟随人物
- Quaternion.Slerp实现摄像机看向人物
- 实现
- 旋转方向:轴朝向自己,顺时针为正
- 角度叠加,旋转向量,点的平移
- 匀/变速的实现
- 需求
- 模拟飞机发射不同类型的子弹
- 四元数相乘
网友评论