22 for (
size_t i = 0; i < 3; i++)
24 for (
size_t j = 0; j < 3; j++)
28 for (
size_t k = 0; k < 3; k++)
41 const float cos_angle = std::cos(angle);
42 const float sin_angle = std::sin(angle);
46 0.0f, cos_angle, -sin_angle,
47 0.0f, sin_angle, cos_angle);
53 const float cos_angle = std::cos(angle);
54 const float sin_angle = std::sin(angle);
57 cos_angle, 0.0f, sin_angle,
59 -sin_angle, 0.0f, cos_angle);
65 const float cos_angle = std::cos(angle);
66 const float sin_angle = std::sin(angle);
69 cos_angle, -sin_angle, 0.0f,
70 sin_angle, cos_angle, 0.0f,
std::string FloatingPointNumToString(const T num, const int digit=kDigit, const int width=kWidth)
小数を文字列に変換する関数. C++ では C のフォーマットのように %3.3f とかで小数を文字列に変換できないため自作する.
Vector3 RotateVector3(const Vector3 &vec, const EulerXYZ &rot)
回転させたベクトルを返す.三角関数の処理が多く重たいので注意.
RotationMatrix3x3()
単位行列を生成する.
RotationMatrix3x3 operator*(const RotationMatrix3x3 &other) const
static RotationMatrix3x3 CreateRotationMatrixZ(float angle)
z軸周りに回転する回転行列を生成する.
std::array< std::array< float, 3 >, 3 > element
static RotationMatrix3x3 CreateRotationMatrixY(float angle)
y軸周りに回転する回転行列を生成する.
static RotationMatrix3x3 CreateRotationMatrixX(float angle)
x軸周りに回転する回転行列を生成する.
std::string ToString() const
回転行列を文字列に変換する.