PAL Mathematics: Coordinates and Distance

Distance measures and conversion between Cartesian and spherical coordinates.

PAL Mathematics: Coordinates and Distance — 5 functions

KiratPalCartesianToSpherical

Signature
void KiratPalCartesianToSpherical(T_CARTESIAN_AND_SPHERICAL* psPos);
Description
Converts Cartesian coordinates to spherical coordinates.
Mathematical operation
\(r=\sqrt{x^2+y^2+z^2}\). For \(r>0\): \(\mathrm{azimuth}=\operatorname{atan2}(y,x)\) and \(\mathrm{elevation}=\arccos(z/r)\); for \(r=0\) both angles are set to zero.

KiratPalEuclideanDistance

Signature
T_FLOAT KiratPalEuclideanDistance(T_CARTESIAN* psPos1, T_CARTESIAN* psPos2);
Description
Calculates the Euclidean distance between two 3D Cartesian points.
Mathematical operation
\(d=\sqrt{(x_1-x_2)^2+(y_1-y_2)^2+(z_1-z_2)^2}\)

KiratPalEuclideanDistanceNDim

Signature
T_FLOAT KiratPalEuclideanDistanceNDim(T_FLOAT* pVec1, T_FLOAT* pVec2, T_INT iDim);
Description
Calculates the Euclidean distance between two vectors of arbitrary dimension.
Mathematical operation
\(d=\sqrt{\sum_{i=0}^{N-1}(x_i-y_i)^2}\)

KiratPalGetDistance

Signature
T_FLOAT KiratPalGetDistance(T_CARTESIAN_AND_SPHERICAL* psPos1, T_CARTESIAN_AND_SPHERICAL* psPos2);
Description
Calculates the distance between two positions stored in the combined Cartesian/spherical position structure.
Mathematical operation
\(d=\sqrt{(x_1-x_2)^2+(y_1-y_2)^2+(z_1-z_2)^2}\)

KiratPalSphericalToCartesian

Signature
void KiratPalSphericalToCartesian(T_CARTESIAN_AND_SPHERICAL* psPos);
Description
Converts spherical coordinates to Cartesian coordinates.
Mathematical operation
\(x=r\sin(\vartheta)\cos(\varphi),\quad y=r\sin(\vartheta)\sin(\varphi),\quad z=r\cos(\vartheta)\), where the structure stores \(\varphi\) as azimuth and \(\vartheta\) as elevation.