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
{
real x;
real y;
real z;
real phi;
real theta;
real 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( void ) const { return X; };
Real Y( void ) const { return Y; };
Real Z( void ) const { return Z; };
Real Phi( void ) const { return Phi; };
Real Theta( void ) const { return Theta; };
Real Psi( void ) 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));
}
};
