#include <matrix3x3f.h>
Matrix3x3f is defined as 3 Transformed Unit Vectors:
Examples: 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.
Examples: | 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
Examples:
|
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))