Position3D
Description
Represents three-dimensional position. This type is most commonly used with camera calibration functions.
The rotation convention assumes three intrinsic rotations, in the following order:
- Rotate clockwise around X-axis by φ (phi, a.k.a. yaw, heading or azimuth).
- Rotate upwards around Y-axis by θ (theta, a.k.a. pitch or elevation).
- Rotate clockwise around Z-axis by ψ (psi, a.k.a. roll or bank).
struct Position3D { float x; float y; float z; float phi; float theta; float psi; };
Structure fields and default values (if defined) are described below:
- Real X
- Real Y
- Real Z
- Real Phi - Rotation around X axis
- Real Theta - Rotation around Y axis
- Real Psi - Rotation around Z axis
struct Position3D
{
Real X;
Real Y;
Real Z;
Real Phi;
Real Theta;
Real Psi;
Real X() const { return X; };
Real Y() const { return Y; };
Real Z() const { return Z; };
Real Phi() const { return Phi; };
Real Theta() const { return Theta; };
Real Psi() const { return Psi; };
bool operator == ( const avl::Position3D& rhs ) const
{
return X == rhs.X &&
Y == rhs.Y &&
Z == rhs.Z &&
Phi == rhs.Phi &&
Theta == rhs.Theta &&
Psi == rhs.Psi;
}
bool operator != ( const avl::Position3D& rhs ) const
{
return !(operator==(rhs));
}
};
