GaitGeneration by Graph Search
読み取り中…
検索中…
一致する文字列を見つけられません
公開メンバ関数 | 静的公開メンバ関数 | 公開変数類 | 全メンバ一覧
designlab::EulerXYZ 構造体final

XYZオイラー角を用いた回転を表す構造体. [詳解]

#include <math_euler.h>

公開メンバ関数

constexpr EulerXYZ ()
 デフォルトコンストラクタでは 0,0,0 で初期化する.
 
constexpr EulerXYZ (const float x, const float y, const float z)
 rad単位で初期化する.
 
constexpr EulerXYZ (const EulerXYZ &other)=default
 
constexpr EulerXYZ (EulerXYZ &&other) noexcept=default
 
constexpr EulerXYZoperator= (const EulerXYZ &other)=default
 
 ~EulerXYZ ()=default
 
constexpr EulerXYZ operator* (const float s) const noexcept
 
constexpr bool operator== (const EulerXYZ &other) const noexcept
 
constexpr bool operator!= (const EulerXYZ &other) const noexcept
 
constexpr void SetDeg (const float x, const float y, const float z)
 オイラー角を 単位 度 [deg] で初期化する.
 
std::string ToString () const
 オイラー角を文字列に変換する. 単位は ラジアン [rad]
 
std::string ToCsvString () const
 オイラー角をCsv形式の文字列に変換する.カンマ区切り. 単位は ラジアン [rad]
 
std::string ToStringDeg () const
 オイラー角を文字列に変換する. 単位は 度 [deg].
 

静的公開メンバ関数

static constexpr EulerXYZ MakeEulerXYZDeg (const float x, const float y, const float z)
 オイラー角を 単位[deg] で作成する.
 

公開変数類

float x_angle
 X 軸周りの回転 [rad]
 
float y_angle
 Y 軸周りの回転 [rad]
 
float z_angle
 Z 軸周りの回転 [rad]
 

詳解

XYZオイラー角を用いた回転を表す構造体.

XYZオイラー角によって回転を表現する.単位は [rad]. ロール(X軸),ピッチ(Y軸),ヨー(Z軸)はそれぞれ右ねじの方向に回転する.

参考資料

覚え書き
計算時間がかなり掛かるので, 速度を考えるならばクォータニオン(四元数)を用いた回転を推奨する.
参照
Quaternion

math_euler.h32 行目に定義があります。

構築子と解体子

◆ EulerXYZ() [1/4]

constexpr designlab::EulerXYZ::EulerXYZ ( )
inlineconstexpr

デフォルトコンストラクタでは 0,0,0 で初期化する.

math_euler.h35 行目に定義があります。

◆ EulerXYZ() [2/4]

constexpr designlab::EulerXYZ::EulerXYZ ( const float  x,
const float  y,
const float  z 
)
inlineconstexpr

rad単位で初期化する.

引数
[in]xX軸周りの回転.[rad]
[in]yY軸周りの回転.[rad]
[in]zZ軸周りの回転.[rad]

math_euler.h41 行目に定義があります。

◆ EulerXYZ() [3/4]

constexpr designlab::EulerXYZ::EulerXYZ ( const EulerXYZ other)
constexprdefault

◆ EulerXYZ() [4/4]

constexpr designlab::EulerXYZ::EulerXYZ ( EulerXYZ &&  other)
constexprdefaultnoexcept

◆ ~EulerXYZ()

designlab::EulerXYZ::~EulerXYZ ( )
default

関数詳解

◆ MakeEulerXYZDeg()

static constexpr EulerXYZ designlab::EulerXYZ::MakeEulerXYZDeg ( const float  x,
const float  y,
const float  z 
)
inlinestaticconstexpr

オイラー角を 単位[deg] で作成する.

引数
[in]xX軸周りの回転.[deg]
[in]yY軸周りの回転.[deg]
[in]zZ軸周りの回転.[deg]
戻り値
オイラー角.

math_euler.h104 行目に定義があります。

呼び出し関係図:

◆ operator!=()

constexpr bool designlab::EulerXYZ::operator!= ( const EulerXYZ other) const
inlineconstexprnoexcept

math_euler.h67 行目に定義があります。

◆ operator*()

constexpr EulerXYZ designlab::EulerXYZ::operator* ( const float  s) const
inlineconstexprnoexcept

math_euler.h54 行目に定義があります。

◆ operator=()

constexpr EulerXYZ & designlab::EulerXYZ::operator= ( const EulerXYZ other)
constexprdefault

◆ operator==()

constexpr bool designlab::EulerXYZ::operator== ( const EulerXYZ other) const
inlineconstexprnoexcept

math_euler.h60 行目に定義があります。

呼び出し関係図:

◆ SetDeg()

constexpr void designlab::EulerXYZ::SetDeg ( const float  x,
const float  y,
const float  z 
)
inlineconstexpr

オイラー角を 単位 度 [deg] で初期化する.

引数
[in]xX軸周りの回転.[deg]
[in]yY軸周りの回転.[deg]
[in]zZ軸周りの回転.[deg]

math_euler.h77 行目に定義があります。

呼び出し関係図:

◆ ToCsvString()

std::string designlab::EulerXYZ::ToCsvString ( ) const

オイラー角をCsv形式の文字列に変換する.カンマ区切り. 単位は ラジアン [rad]

戻り値
オイラー角を表す文字列.

math_euler.cpp32 行目に定義があります。

◆ ToString()

std::string designlab::EulerXYZ::ToString ( ) const

オイラー角を文字列に変換する. 単位は ラジアン [rad]

戻り値
オイラー角を表す文字列.

math_euler.cpp20 行目に定義があります。

呼び出し関係図:

◆ ToStringDeg()

std::string designlab::EulerXYZ::ToStringDeg ( ) const

オイラー角を文字列に変換する. 単位は 度 [deg].

戻り値
オイラー角を表す文字列.

math_euler.cpp39 行目に定義があります。

呼び出し関係図:

メンバ詳解

◆ x_angle

float designlab::EulerXYZ::x_angle

X 軸周りの回転 [rad]

math_euler.h109 行目に定義があります。

◆ y_angle

float designlab::EulerXYZ::y_angle

Y 軸周りの回転 [rad]

math_euler.h110 行目に定義があります。

◆ z_angle

float designlab::EulerXYZ::z_angle

Z 軸周りの回転 [rad]

math_euler.h111 行目に定義があります。


この構造体詳解は次のファイルから抽出されました: