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

相關文章
相關標籤/搜索