|
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 |
バンク角