FineKernelToolKit 4.2.13
|
オイラー角を表すクラス [詳解]
#include <FK/Angle.h>
公開メンバ関数 | |
fk_Angle (double h=0.0, double p=0.0, double b=0.0) | |
コンストラクタ | |
fk_Angle (const fk_Angle &) | |
コピーコンストラクタ | |
bool | operator== (const fk_Angle &) const |
同値比較演算子 | |
bool | operator!= (const fk_Angle &) const |
異値比較演算子 | |
fk_Angle & | operator= (const fk_Angle &) |
単純代入演算子 | |
void | set (double h, double p, double b) |
設定用関数 | |
公開変数類 | |
double | h |
ヘディング角 | |
double | p |
ピッチ角 | |
double | b |
バンク角 | |
オイラー角を表すクラス
オイラー角は、3次元での姿勢を表す方法の一つで、 空間中の全ての姿勢を表現することが可能です。 FK におけるオイラー角は Z-X-Y 座標系を意味します。 ヘディング角を h、ピッチ角を p、バンク角を b としたとき、 このオイラー角は以下の回転変換と同意です。
\[ R_y(-h) \cdot R_x(p) \cdot R_z(-b) \]
角度の単位はすべて弧度法(ラジアン)です。
FK::fk_Angle::fk_Angle | ( | double | h = 0.0 , |
double | p = 0.0 , |
||
double | b = 0.0 |
||
) |
コンストラクタ
引数としてヘディング角、ピッチ角、バンク角を入力します。 単位は弧度法(ラジアン)です。
[in] | h | ヘディング角 |
[in] | p | ピッチ角 |
[in] | b | バンク角 |
FK::fk_Angle::fk_Angle | ( | const fk_Angle & | ) |
コピーコンストラクタ
bool FK::fk_Angle::operator== | ( | const fk_Angle & | ) | const |
同値比較演算子
fk_Angle では、以下のように記述することで、 a1 と a2 が等しいかどうかを判断できます。
if(a1 == a2) { : : }
ここでの比較は、ある程度の計算誤差を許容します。
bool FK::fk_Angle::operator!= | ( | const fk_Angle & | ) | const |
異値比較演算子
fk_Angle では、以下のように記述することで、 a1 と a2 が等しくないかどうかを判断できます。
if(a1 != a2) { : : }
ここでの比較は、ある程度の計算誤差を許容します。
void FK::fk_Angle::set | ( | double | h, |
double | p, | ||
double | b | ||
) |
設定用関数
[in] | h | ヘディング角 |
[in] | p | ピッチ角 |
[in] | b | バンク角 |
double FK::fk_Angle::h |
ヘディング角
double FK::fk_Angle::p |
ピッチ角
double FK::fk_Angle::b |
バンク角