24#include "AstMath/MathOperator.hpp"
25#include "AstMath/Matrix.hpp"
26#include "AstMath/AttitudeConvertProto.hpp"
42Quaternion
aQuatProduct(
const Quaternion& q1,
const Quaternion& q2);
60 double norm()
const{
return _ASTMATH
norm(*
this); }
69 double qs()
const{
return qs_;}
71 double qx()
const{
return qx_;}
73 double qy()
const{
return qy_;}
75 double qz()
const{
return qz_;}
77 double&
qs(){
return qs_;}
79 double&
qx(){
return qx_;}
81 double&
qy(){
return qy_;}
83 double&
qz(){
return qz_;}
85 const Vector3d&
vec()
const {
return (
const Vector3d&)qx_;}
91 double x()
const{
return qx_;}
93 double y()
const{
return qy_;}
95 double z()
const{
return qz_;}
97 double w()
const{
return qs_;}
100 double&
x(){
return qx_;}
102 double&
y(){
return qy_;}
104 double&
z(){
return qz_;}
106 double&
w(){
return qs_;}
108 A_DEF_POD_ITERABLE(
double)
165 std::string toString()
const;
182 q1.
qs() * q2.
qs() - q1.
qx() * q2.
qx() - q1.
qy() * q2.
qy() - q1.
qz() * q2.
qz(),
183 q1.
qs() * q2.
qx() + q1.
qx() * q2.
qs() + q1.
qy() * q2.
qz() - q1.
qz() * q2.
qy(),
184 q1.
qs() * q2.
qy() - q1.
qx() * q2.
qz() + q1.
qy() * q2.
qs() + q1.
qz() * q2.
qx(),
185 q1.
qs() * q2.
qz() + q1.
qx() * q2.
qy() - q1.
qy() * q2.
qx() + q1.
qz() * q2.
qs(),
198AST_DECL_TYPE_ALIAS(Quaternion)
double & x()
四元数的虚部x
定义 Quaternion.hpp:100
double z() const
四元数的虚部z
定义 Quaternion.hpp:95
double & qz()
四元数的虚部z
定义 Quaternion.hpp:83
double & z()
四元数的虚部z
定义 Quaternion.hpp:104
Quaternion & operator/=(double val)
四元数标量除法赋值
定义 Quaternion.hpp:154
double & w()
四元数的实部
定义 Quaternion.hpp:106
Quaternion operator/(double val) const
四元数标量除法
定义 Quaternion.hpp:149
Quaternion & operator*=(double val)
四元数标量乘积赋值
定义 Quaternion.hpp:143
Quaternion conjugate() const
计算四元数的共轭
定义 Quaternion.hpp:117
double & qx()
四元数的虚部x
定义 Quaternion.hpp:79
Quaternion inverse() const
计算四元数的逆
定义 Quaternion.hpp:121
double & qy()
四元数的虚部y
定义 Quaternion.hpp:81
double qz() const
四元数的虚部z
定义 Quaternion.hpp:75
void normalize()
归一化四元数
定义 Quaternion.hpp:62
void setIdentity()
设置四元数为单位四元数
定义 Quaternion.hpp:67
double & qs()
四元数的实部
定义 Quaternion.hpp:77
Matrix3d toRotationMatrix() const
四元数转旋转矩阵
定义 Quaternion.hpp:158
Quaternion operator*(double val) const
四元数标量乘积
定义 Quaternion.hpp:138
Quaternion operator*(const Quaternion &q2) const
四元数乘积
定义 Quaternion.hpp:127
const Vector3d & vec() const
四元数的虚部向量
定义 Quaternion.hpp:85
static Quaternion FromRotationMatrix(const Matrix3d &mtx)
从旋转矩阵创建四元数
定义 Quaternion.hpp:56
double qs() const
四元数的实部
定义 Quaternion.hpp:69
double squaredNorm() const
计算四元数的平方范数
定义 Quaternion.hpp:112
double norm() const
计算四元数的范数
定义 Quaternion.hpp:60
double & y()
四元数的虚部y
定义 Quaternion.hpp:102
double y() const
四元数的虚部y
定义 Quaternion.hpp:93
Quaternion & operator*=(const Quaternion &q2)
四元数乘积赋值
定义 Quaternion.hpp:132
double x() const
四元数的虚部x
定义 Quaternion.hpp:91
static Quaternion Identity()
创建单位四元数
定义 Quaternion.hpp:51
double w() const
四元数的实部
定义 Quaternion.hpp:97
double qy() const
四元数的虚部y
定义 Quaternion.hpp:73
double qx() const
四元数的虚部x
定义 Quaternion.hpp:71
Quaternion normalized() const
归一化四元数
定义 Quaternion.hpp:65
void aQuatToMatrix(const Quaternion &quat, Matrix3d &m)
四元数转矩阵
定义 AttitudeConvert.cpp:90
Quaternion aQuatProduct(const Quaternion &q1, const Quaternion &q2)
四元数乘积
定义 Quaternion.hpp:179
void aMatrixToQuat(const Matrix3d &mtx, Quaternion &quat)
矩阵转四元数
定义 AttitudeConvert.cpp:115
double squaredNorm(const double *vec, size_t N)
squaredNorm
定义 MathOperator.hpp:245