OSG 四元数转欧拉角的一个函数

osg::Vec3 QuaternionToVector3(osg::Quat _q)
{
	osg::Vec3 v(
		atan(  (2*(_q.w()*_q.x() + _q.y()*_q.z()))      /        (1-  2*( pow(_q.x(),2) + pow(_q.y(),2) )  ) ),
		asin(  2*(_q.w()*_q.y()-_q.z()*_q.x())  ),
		atan(  (2*(_q.w()*_q.z() + _q.x()*_q.y()))      /        (1-  2*( pow(_q.y(),2) + pow(_q.z(),2) )  ) )
		);
	return v;
}

数学公式_四元数转欧拉角

由于OSG大多用四元素, 而公司的一个模块只能用欧拉角 因此写出这函数函数

OSG的四元数没有这个APIcode

相关文章
相关标签/搜索