RotationMatrix-未测试-头文件

本文探讨了三维空间中从局部空间到世界空间的转换原理,并通过实例介绍如何使用旋转矩阵进行转换。文章还提供了旋转矩阵类的具体实现,包括根据四元数和欧拉角构造矩阵的方法。

这个基本上就是抄的,对于局部空间到世界空间的来回转换其实挺糊涂,直观来说,只要求出一个,再求个逆,书上的做法名字比较好听罢了.真心觉得作者最好拿我当傻子,把最直观的东西呈现在我面前.否则,挺好的,我得自己去搞明白.

#ifndef ROTATIONMATRIX_H_
#define ROTATIONMATRIX_H_

class Vector3 ;
class EulerAngles ;
class Quaternion ;

class RotationMatrix
{
public:
	float m11, m12, m13 ;
	float m21, m22, m23 ;
	float m31, m32, m33 ;

	void Identity() ;

	//		根据指定方位构造矩阵
	void SetUp(const EulerAngles& orientation) ;

	//		根据四元数构造矩阵
	//		惯性空间->局部空间
	void FromInertialToObjectQuaternion(const Quaternion& q) ;
	//		局部空间->惯性空间
	void FromObjectToInertialQuaternion(const Quaternion& q) ;

	//		执行旋转
	Vector3 InertialToObject(const Vector3& v) const ;
	Vector3 ObjectToInertial(const Vector3& v) const ;
} ;

#endif


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值