18#ifndef BIMHOMEBASE_DUALQUATERNION_H
19#define BIMHOMEBASE_DUALQUATERNION_H
53 : x(x), y(y), z(z), w(w)
63 DualQuat(
double x,
double y,
double z,
double w,
double dx,
double dy,
double dz,
double dw)
64 : x(x, dx), y(y, dy), z(z, dz), w(w, dw)
73 DualQuat(
double x,
double y,
double z,
double w)
74 : x(x), y(y), z(z), w(w)
103 return DualQuat(x.getRE(), y.getRE(), z.getRE(), w.getRE());
113 return DualQuat(x.getDU(), y.getDU(), z.getDU(), w.getDU());
143 return sqrt(x.getRE() * x.getRE() + y.getRE() * y.getRE() + z.getRE() * z.getRE() + w.getRE() * w.getRE());
153 return 2.0 * atan2(vec().length(), w.getRE());
对偶数(Dual Numbers)类
Definition DualNumber.h:33
DualNumber x
x 分量
Definition DualQuaternion.h:265
DualQuat vec() const
提取向量部分(x, y, z),并将标量部分(w)置为0.0
Definition DualQuaternion.h:131
DualQuat(double x, double y, double z, double w, double dx, double dy, double dz, double dw)
构造函数,初始化对偶四元数
Definition DualQuaternion.h:63
DualNumber z
z 分量
Definition DualQuaternion.h:267
DualQuat dual() const
返回一个对偶四元数,只包含对偶部分
Definition DualQuaternion.h:111
DualNumber y
y 分量
Definition DualQuaternion.h:266
DualQuat conj() const
返回当前对偶四元数的共轭
Definition DualQuaternion.h:121
static double dot(DualQuat a, DualQuat b)
计算两个对偶四元数的点积
DualNumber getZ() const
获取对偶四元数的 z 分量
Definition DualQuaternion.h:209
DualQuat real() const
返回一个新的对偶四元数,其对偶部分被置零
Definition DualQuaternion.h:101
DualNumber getY() const
获取对偶四元数的 y 分量
Definition DualQuaternion.h:199
void setX(const DualNumber &number)
设置对偶四元数的 x 分量
Definition DualQuaternion.h:229
void setW(const DualNumber &number)
设置对偶四元数的 w 分量
Definition DualQuaternion.h:259
void setY(const DualNumber &number)
设置对偶四元数的 y 分量
Definition DualQuaternion.h:239
DualQuat(DualQuat re, DualQuat du)
构造函数,从实部和对偶部分构建对偶四元数
double length() const
计算当前四元数的模
Definition DualQuaternion.h:141
DualQuat()
默认构造函数
Definition DualQuaternion.h:40
DualNumber getW() const
获取对偶四元数的 w 分量
Definition DualQuaternion.h:219
DualQuat pow(double t, bool shorten=true) const
计算对偶四元数的指数运算
DualNumber w
w 分量
Definition DualQuaternion.h:268
DualQuat(double x, double y, double z, double w)
构造函数,初始化对偶四元数
Definition DualQuaternion.h:73
void setZ(const DualNumber &number)
设置对偶四元数的 z 分量
Definition DualQuaternion.h:249
static DualQuat identity()
返回单位(或恒等)对偶四元数
Definition DualQuaternion.h:91
DualQuat(DualNumber x, DualNumber y, DualNumber z, DualNumber w)
构造函数,初始化对偶四元数
Definition DualQuaternion.h:52
DualNumber getX() const
获取对偶四元数的 x 分量
Definition DualQuaternion.h:189
double theta() const
计算四元数表示的旋转角
Definition DualQuaternion.h:151
DualQuat 类表示一个对偶四元数,即由对偶数分量组成的四元数。
Definition DualQuaternion.h:34
DualNumber operator+(DualNumber a, DualNumber b)
将两个对偶数相加
Definition DualNumber.h:116
DualNumber operator-(DualNumber a, DualNumber b)
将两个对偶数相减
Definition DualNumber.h:152
DualNumber operator*(DualNumber a, DualNumber b)
将两个对偶数相乘
Definition DualNumber.h:188
Definition BaseFigureFactory.h:24