8#ifndef DESIGNLAB_MATH_ROTATION_MATRIX_H_
9#define DESIGNLAB_MATH_ROTATION_MATRIX_H_
39 { 0.0f, 0.0f, 1.0f }} }) {}
43 const float r11,
const float r12,
const float r13,
44 const float r21,
const float r22,
const float r23,
45 const float r31,
const float r32,
const float r33) :
49 { r31, r32, r33 }} }) {}
77 [[nodiscard]] std::string
ToString()
const;
87 std::array<std::array<float, 3>, 3>
element;
Vector3 RotateVector3(const Vector3 &vec, const EulerXYZ &rot)
回転させたベクトルを返す.三角関数の処理が多く重たいので注意.
RotationMatrix3x3()
単位行列を生成する.
RotationMatrix3x3 operator*(const RotationMatrix3x3 &other) const
static RotationMatrix3x3 CreateRotationMatrixZ(float angle)
z軸周りに回転する回転行列を生成する.
RotationMatrix3x3(const RotationMatrix3x3 &other)=default
std::array< std::array< float, 3 >, 3 > element
static RotationMatrix3x3 CreateRotationMatrixY(float angle)
y軸周りに回転する回転行列を生成する.
static RotationMatrix3x3 CreateRotationMatrixX(float angle)
x軸周りに回転する回転行列を生成する.
RotationMatrix3x3 & operator=(const RotationMatrix3x3 &other)=default
RotationMatrix3x3(RotationMatrix3x3 &&other) noexcept=default
~RotationMatrix3x3()=default
RotationMatrix3x3(const float r11, const float r12, const float r13, const float r21, const float r22, const float r23, const float r31, const float r32, const float r33)
任意の回転行列を生成する.
std::string ToString() const
回転行列を文字列に変換する.