2 Star 0 Fork 0

寧靜致遠/VectorComputation

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
EulerAngle.h 1.33 KB
一键复制 编辑 原始数据 按行查看 历史
张规化 提交于 2022-02-17 15:01 . format code
#ifndef __EULER_ANGLE_CLASS_DEFINE__
#define __EULER_ANGLE_CLASS_DEFINE__
#pragma once
#include "framework.h"
#include "MatrixInformation.h"
/*
[cosb sinb 0]
B = Rz(b) = [-sinb cosb 0]
[0 0 1]
[1 0 0 ]
P = Rx(p) = [0 cosp sinp]
[0 -sinp cosp]
[cosh 0 -sinh]
H = Ry(h) = [0 1 0]
[sinh 0 cosh]
欧拉角的限制范围:
heading: -180°~ +180°
bank: -180°~ +180°
pitch: -90° ~ +90°
*/
class MatrixInformation;
class EulerAngle
{
private:
double heading;// 绕Y轴旋转
double pitch;// 绕X轴旋转
double bank;// 绕Z轴旋转
public:
EulerAngle();
EulerAngle(double heading, double pitch, double bank);
double GetHeading() { return this->heading; };
double GetPitch() { return this->pitch; };
double GetBank() { return this->bank; };
// 物体坐标系转换到世界坐标系
VOID FromMatrixObjectToWorld(MatrixInformation& matrixInfo);
// 世界坐标系转换到物体坐标系
VOID FromMatrixWorldToObject(MatrixInformation& matrixInfo);
// 角度限制,避免万向锁
VOID AngleLimit();
// 角度修正
double AngleCorrection(double angle);
};
#endif // !__EULER_ANGLE_CLASS_DEFINE__
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/63327660/vector-computation.git
git@gitee.com:63327660/vector-computation.git
63327660
vector-computation
VectorComputation
master

搜索帮助