#include <matrix3x3f.h>
Matrix3x3f is defined as 3 Transformed Unit Vectors:
Init | |
Matrix3x3f () | |
Set Identity. More... | |
Matrix3x3f (KyFloat32 Xx, KyFloat32 Xy, KyFloat32 Xz, KyFloat32 Yx, KyFloat32 Yy, KyFloat32 Yz, KyFloat32 Zx, KyFloat32 Zy, KyFloat32 Zz) | |
{Xx,Xy,Xz}=Matrix.Transform({1,0,0}), {Yx,Yy,Yz}=Matrix.Transform({0,1,0}), {Zx,Zy,Zz}=Matrix.Transform({0,0,1}) More... | |
Matrix3x3f (const Vec3f &X_, const Vec3f &Y_, const Vec3f &Z_) | |
X=Matrix.Transform({1,0,0}), Y=Matrix.Transform({0,1,0}), Z=Matrix.Transform({0,0,1}) More... | |
Matrix3x3f (const Vec3f &axis, KyFloat32 angleRad) | |
Set Matrix as the CCW rotation around axis. More... | |
void | SetIdentity () |
void | Set (KyFloat32 Xx, KyFloat32 Xy, KyFloat32 Xz, KyFloat32 Yx, KyFloat32 Yy, KyFloat32 Yz, KyFloat32 Zx, KyFloat32 Zy, KyFloat32 Zz) |
{Xx,Xy,Xz}=Matrix.Transform({1,0,0}), {Yx,Yy,Yz}=Matrix.Transform({0,1,0}), {Zx,Zy,Zz}=Matrix.Transform({0,0,1}) More... | |
void | Set (const Vec3f &X_, const Vec3f &Y_, const Vec3f &Z_) |
X=Matrix.Transform({1,0,0}), Y=Matrix.Transform({0,1,0}), Z=Matrix.Transform({0,0,1}) More... | |
void | SetRotation (const Vec3f &axis, KyFloat32 angleInRadian) |
Set Matrix as the CCW rotation around axis. More... | |
void | SetYawPitchRoll (KyFloat32 yawInRadian, KyFloat32 pitchInRadian, KyFloat32 rollInRadian) |
Return yawRot.Transform(pitchRot.Transform(rollRot)) where yawRot around Z, pitchRot around X, rollRot around Y. More... | |
Main interface | |
const Vec3f & | Axis (KyUInt32 index) const |
Axis(0) return M.X, Axis(1) return M.Y, Axis(2) return M.Z. More... | |
Vec3f & | Axis (KyUInt32 index) |
Axis(0) return M.X, Axis(1) return M.Y, Axis(2) return M.Z. More... | |
Vec3f | Transform (const Vec3f &to_transform) const |
return transformed Vec3f More... | |
Matrix3x3f | Transform (const Matrix3x3f &to_transform) const |
return transformed to_transform More... | |
void | Transform (const Vec3f &to_transform, Vec3f &transformed) const |
Transform Vec3f transformed. More... | |
void | Transform (const Matrix3x3f &to_transform, Matrix3x3f &transformed) const |
Transform Matric3x3f transformed. More... | |
bool | operator== (const Matrix3x3f &other) const |
bool | operator!= (const Matrix3x3f &other) const |
Static methods | |
static Matrix3x3f | Identity () |
static Matrix3x3f | YawPitchRoll (KyFloat32 yawInRadian, KyFloat32 pitchInRadian, KyFloat32 rollInRadian) |
Return yawRot.Transform(pitchRot.Transform(rollRot)) where yawRot around Z, pitchRot around X, rollRot around Y. More... | |
static Matrix3x3f | Rotation (const Vec3f &axis, KyFloat32 angleInRadian) |
Return Matrix as the rotation around axis. More... | |
Data | |
Vec3f | X |
Matrix.Transfrom(Vec3f(1,0,0)) More... | |
Vec3f | Y |
Matrix.Transfrom(Vec3f(0,1,0)) More... | |
Vec3f | Z |
Matrix.Transfrom(Vec3f(0,0,1)) More... | |
|
inline |
Set Identity.
|
inline |
{Xx,Xy,Xz}=Matrix.Transform({1,0,0}), {Yx,Yy,Yz}=Matrix.Transform({0,1,0}), {Zx,Zy,Zz}=Matrix.Transform({0,0,1})
X=Matrix.Transform({1,0,0}), Y=Matrix.Transform({0,1,0}), Z=Matrix.Transform({0,0,1})
Set Matrix as the CCW rotation around axis.
Axis(0) return M.X, Axis(1) return M.Y, Axis(2) return M.Z.
Axis(0) return M.X, Axis(1) return M.Y, Axis(2) return M.Z.
|
inlinestatic |
Return Matrix as the rotation around axis.
|
inline |
{Xx,Xy,Xz}=Matrix.Transform({1,0,0}), {Yx,Yy,Yz}=Matrix.Transform({0,1,0}), {Zx,Zy,Zz}=Matrix.Transform({0,0,1})
X=Matrix.Transform({1,0,0}), Y=Matrix.Transform({0,1,0}), Z=Matrix.Transform({0,0,1})
Set Matrix as the CCW rotation around axis.
void Kaim::Matrix3x3f::SetYawPitchRoll | ( | KyFloat32 | yawInRadian, |
KyFloat32 | pitchInRadian, | ||
KyFloat32 | rollInRadian | ||
) |
Return yawRot.Transform(pitchRot.Transform(rollRot)) where yawRot around Z, pitchRot around X, rollRot around Y.
roll>0 => "bank-right", pitch>0 => "look-up", yaw>0 => "turn-left"
return transformed Vec3f
|
inline |
return transformed to_transform
|
inline |
Transform Matric3x3f transformed.
|
inlinestatic |
Return yawRot.Transform(pitchRot.Transform(rollRot)) where yawRot around Z, pitchRot around X, rollRot around Y.
roll>0 => "bank-right", pitch>0 => "look-up", yaw>0 => "turn-left"
Vec3f Kaim::Matrix3x3f::X |
Matrix.Transfrom(Vec3f(1,0,0))
Vec3f Kaim::Matrix3x3f::Y |
Matrix.Transfrom(Vec3f(0,1,0))
Vec3f Kaim::Matrix3x3f::Z |
Matrix.Transfrom(Vec3f(0,0,1))