fabien van mook

all packages "fvm-*"

package "fvm-geometry"

function file "aeo2flu.m"

Function [F,L,U] = aeo2flu(AEO);

returns the front, left and up directions calculated from
the given azimuth, elevation and obliquity.

Matrix AEO has three columns, and each row contains the
azimuth, elevation and obliquity, which describe a single
orientation by three angles. The angles are given in
degrees and their canonical values range:
-- azimuth: from 0 (inclusively) to 360 (exclusively);
-- elevation: from -90 (inclusively) to +90 (inclusively);
-- obliquity: from 0 (inclusively) to 360 (exclusively).

Matrices F, L and U have three columns, and each row
contains the x, y and z coordinates of a front, left and
up direction vector, respectively, for each corresponding
row in AEO. The front, left or up direction vector is the
normal of the (imaginary) front, left or upper surface of
an object, respectively, and points outwards of the
object. It is assumed that the front, left and upper
surfaces are orthogonal, as the surfaces of a cube.

The relation between an orientation given by azimuth az,
elevation el and obliquity ob, and an orientation given by
front, left and up direction vectors f, l and u is
explained by the following definitions and step-by-step
construction:
-- the reference coordinate system with x,y,z axes is
   orthogonal and right-handed.
-- a rotation of a vector around vector v is called
   "clocwise", if seen in the opposite direction of vector
   v the rotated vector turns in the same direction as the
   clock's hands.
-- the orientation is described as if the object is in
   the origin of the x,y,z system, and all vectors defined
   below start in the origin.
-- a local coordinate system, orthogonal and right-handed
   too, is defined by the following three (unit) vectors:
     vector f'' coincides with the positive y axis,
     vector l'' coincides with the negative x axis,
     vector u'' coincides with the positive z axis.
-- we rotate the local system subsequently:
   -- by az degrees measured from f'' (or y axis)
      clockwise about u'' (or z axis),
      to obtain vectors f', l' and u'';
   -- by el degrees measured from f' clockwise about l',
      to obtain vectors f, l' and u';
   -- by ob degrees measured from u' clockwise about f,
      to obtain vectors f, l and u.

Note that azimuth, elevation and obliquity are defined
here in a particular way. Slightly different definitions
for azimuth and elevation are used in the literature. The
notion of obliquity and its term, introduced here, are
probably not used elsewhere. Yaw, pitch and roll are
notions often used for orientations of vehicles like
aircraft; they correspond to azimuth, elevation and
obliquity, but are defined differently. Some background
information is found at:
https://en.wikipedia.org/wiki/Orientation_(geometry)
https://en.wikipedia.org/wiki/Right-hand_rule
https://en.wikipedia.org/wiki/Clockwise
https://en.wikipedia.org/wiki/Euler_angles
https://en.wikipedia.org/wiki/Axes_conventions
https://en.wikipedia.org/wiki/Aircraft_principal_axes

The function internally calls the following non-standard
m-files:
-- aer2xyz.m
-- cross3d.m


(c) 2026 fabien van mook

2026.08.20 release of this file within package "fvm-geometry" under GNU GPLv3+