3D数学基础公式------>矩阵,欧拉角,四元数,之间转换<2>

四元数构造:



X轴旋转
w = cosθ/2, x = sinθ/2, y = 0, z = 0

Y轴旋转

w = cosθ/2, x = 0, y = sinθ/2, z = 0

Z轴旋转

w = cosθ/2, x = 0, y = 0, z = sinθ/2

绕任意轴旋转

假设绕绕V(x, y, z)轴

w = cosθ/2, x = Vx*sinθ/2, y = Vy*sinθ/2, z = Vz*sinθ/2

欧拉角构造四元数
物体->惯性
公式:
w [ cos(h/2)*cos(p/2)*cos(b/2) + sin(h/2)*sin(p/2)sin(b/2)   ]
x  [ -cos(h/2)*sin(p/2)*sin(b/2) - sin(h/2)*cos(p/2)*sin(b/2)  ]
y  [ cos(h/2)*sin(p/2)*sin(b/2)  - sin(h/2)*cos(p/2)*cos(b/2) ]
z  [ sin(h/2)*sin(p/2)*cos(b/2)  - cos(h/2)*cos(p/2)*sin(b/2) ]
惯性->物体
公式:
它的共轭
w [ cos(h/2)*cos(p/2)*cos(b/2) + sin(h/2)*sin(p/2)sin(b/2)  ]
x [ cos(h/2)*sin(p/2)*sin(b/2) + sin(h/2)*cos(p/2)*sin(b/2) ]
y [ sin(h/2)*cos(p/2)*cos(b/2) - cos(h/2)*sin(p/2)*sin(b/2) ]
z [ cos(h/2)*cos(p/2)*sin(b/2) - sin(h/2)*sin(p/2)*cos(b/2) ]

//四元数叉乘
//公式:
//[ w1, (x1, y1, z,) ], [ w2, (x2, y2, z2) ]
//[ w1w2 - x1x2 - y1y2 - z1z2 ]
//[ w1x2 + x1w2 + z1y2 - y1z2 ]
//[ w1y2 + y1w2 + x1z2 - z1x2 ]
//[ w1z2 + z1w2 + y1x2 - x1y2 ]
//简化公式:
//[ w1 v1 ], [ w2, v2 ]
//[ w1w2 - v1·v2, w1v2 + w2v1 + v2 x v1 ]
//以上是四元数标准叉乘定义
//该书本定义
//[ w1w2 - x1x2 - y1y2 - z1z2 ]
//[ w1x2 + x1w2 + y1z2 - z1y2 ]
//[ w1y2 + y1w2 + z1x2 - x1z2 ]
//[ w1z2 + z1w2 + x1y2 - y1x2 ]
//简化公式:
//[ w1 v1 ], [ w2, v2 ]
//[ w1w2 - v1·v2, w1v2 + w2v1 + v2·v1 ]
//意义:
//向量旋转

//四元数正规化
//公式
//|q| = |[w (x, y, z)]| = √ ̄w*w + x*x + y*y + z*z
//Qnormal = [ w/|q| (x/|q|, y/|q|, z/|q|) ]
//意义:
//单位四元数

//四元数点乘
//公式:
//[w1 x1 y1 z1], [w2 x2 y2 z2]
//w1*w2+x1*x2+y1*y2+z1*z2
//意义:
//角位移相似度

//四元数共轭
//公式:
//[ w , ( x y z ) ] -> [ w, ( -x -y -z ) ]
//意义:
//绕旋转轴反向旋转

//四元数求幂
//公式:
//q' = exp(t log q)
//意义:
//绕倍数旋转


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值