24#include "AstMath/MathOperator.hpp"
25#include "AstMath/Matrix.hpp"
26#include "AstMath/AttitudeConvertProto.hpp"
41Quaternion
aQuatProduct(
const Quaternion& q1,
const Quaternion& q2);
59 double norm()
const{
return _ASTMATH
norm(*
this); }
68 double qs()
const{
return m_qs;}
70 double qx()
const{
return m_qx;}
72 double qy()
const{
return m_qy;}
74 double qz()
const{
return m_qz;}
76 double&
qs(){
return m_qs;}
78 double&
qx(){
return m_qx;}
80 double&
qy(){
return m_qy;}
82 double&
qz(){
return m_qz;}
84 const Vector3d&
vec()
const {
return (
const Vector3d&)m_qx;}
90 double x()
const{
return m_qx;}
92 double y()
const{
return m_qy;}
94 double z()
const{
return m_qz;}
96 double w()
const{
return m_qs;}
99 double&
x(){
return m_qx;}
101 double&
y(){
return m_qy;}
103 double&
z(){
return m_qz;}
105 double&
w(){
return m_qs;}
107 A_DEF_POD_ITERABLE(
double)
179 q1.
qs() * q2.
qs() - q1.
qx() * q2.
qx() - q1.
qy() * q2.
qy() - q1.
qz() * q2.
qz(),
180 q1.
qs() * q2.
qx() + q1.
qx() * q2.
qs() + q1.
qy() * q2.
qz() - q1.
qz() * q2.
qy(),
181 q1.
qs() * q2.
qy() - q1.
qx() * q2.
qz() + q1.
qy() * q2.
qs() + q1.
qz() * q2.
qx(),
182 q1.
qs() * q2.
qz() + q1.
qx() * q2.
qy() - q1.
qy() * q2.
qx() + q1.
qz() * q2.
qs(),
195AST_DECL_TYPE_ALIAS(Quaternion)
double & x()
四元数的虚部x
定义 Quaternion.hpp:99
double z() const
四元数的虚部z
定义 Quaternion.hpp:94
double & qz()
四元数的虚部z
定义 Quaternion.hpp:82
double & z()
四元数的虚部z
定义 Quaternion.hpp:103
Quaternion & operator/=(double val)
四元数标量除法赋值
定义 Quaternion.hpp:153
double & w()
四元数的实部
定义 Quaternion.hpp:105
Quaternion operator/(double val) const
四元数标量除法
定义 Quaternion.hpp:148
Quaternion & operator*=(double val)
四元数标量乘积赋值
定义 Quaternion.hpp:142
Quaternion conjugate() const
计算四元数的共轭
定义 Quaternion.hpp:116
double & qx()
四元数的虚部x
定义 Quaternion.hpp:78
Quaternion inverse() const
计算四元数的逆
定义 Quaternion.hpp:120
double & qy()
四元数的虚部y
定义 Quaternion.hpp:80
double qz() const
四元数的虚部z
定义 Quaternion.hpp:74
void normalize()
归一化四元数
定义 Quaternion.hpp:61
void setIdentity()
设置四元数为单位四元数
定义 Quaternion.hpp:66
double & qs()
四元数的实部
定义 Quaternion.hpp:76
Matrix3d toRotationMatrix() const
四元数转旋转矩阵
定义 Quaternion.hpp:157
Quaternion operator*(double val) const
四元数标量乘积
定义 Quaternion.hpp:137
Quaternion operator*(const Quaternion &q2) const
四元数乘积
定义 Quaternion.hpp:126
const Vector3d & vec() const
四元数的虚部向量
定义 Quaternion.hpp:84
static Quaternion FromRotationMatrix(const Matrix3d &mtx)
从旋转矩阵创建四元数
定义 Quaternion.hpp:55
double qs() const
四元数的实部
定义 Quaternion.hpp:68
double squaredNorm() const
计算四元数的平方范数
定义 Quaternion.hpp:111
double norm() const
计算四元数的范数
定义 Quaternion.hpp:59
double & y()
四元数的虚部y
定义 Quaternion.hpp:101
double y() const
四元数的虚部y
定义 Quaternion.hpp:92
Quaternion & operator*=(const Quaternion &q2)
四元数乘积赋值
定义 Quaternion.hpp:131
double x() const
四元数的虚部x
定义 Quaternion.hpp:90
static Quaternion Identity()
创建单位四元数
定义 Quaternion.hpp:50
double w() const
四元数的实部
定义 Quaternion.hpp:96
double qy() const
四元数的虚部y
定义 Quaternion.hpp:72
double qx() const
四元数的虚部x
定义 Quaternion.hpp:70
Quaternion normalized() const
归一化四元数
定义 Quaternion.hpp:64
void aQuatToMatrix(const Quaternion &quat, Matrix3d &m)
四元数转矩阵
定义 AttitudeConvert.cpp:90
Quaternion aQuatProduct(const Quaternion &q1, const Quaternion &q2)
四元数乘积
定义 Quaternion.hpp:176
void aMatrixToQuat(const Matrix3d &mtx, Quaternion &quat)
矩阵转四元数
定义 AttitudeConvert.cpp:115
double squaredNorm(const double *vec, size_t N)
squaredNorm
定义 MathOperator.hpp:245