四元数解析

本文深入探讨了四元数在游戏开发中的优势,特别是对比欧拉角的万向节死锁问题,四元数能更有效地进行旋转轴增量旋转。通过实例解析四元数如何表示三维空间中点的旋转,以及四元数的旋转公式和计算方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

四元数对游戏开发来说是一个绕不过的知识点。四元数之所以比欧拉角好用,是因为四元数没有万向节死锁,并且可以很方便的对旋转轴增量旋转,计算量较小。简单总结一下:

四元数当然由四个部分组成,一般描述为: q = ( x, y, z, w ),其中 x, y, z是复数,具体是:q = { xi,yj,zk, w}

四元数用来表示绕着某个轴旋转,q里面的xyz部分表示旋转轴,w表示旋转的角度。

复数的定义是:i^{2} = -1

共轭复数:

  复数F_{} = a + bi ,那么他的共轭复数是  F^{'} = a - bi,也就是实部相同,虚部取负。

四元数的旋转表示:

有一个三维空间的点w(4,4,4),绕着(1,2,3)的轴旋转30°,计算旋转后的坐标。

第一步:构建四元数。 w = (4,4,4,0)

第二步:构建旋转四元数。 q = ( cos\frac{\Theta }{2} * 1, sin\frac{\Theta }{2} *2,sin\frac{\Theta }{2} *3, 0)

第三部:根据旋转公式得到 W^{'} = q * W * q^{-1}

四元数的旋转公式: W^{'} = q * W * q^{-1}

四元数角度增量是四元数的乘法运算

内容未整理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值