Index

Package: Math

Description

package GLOBE_3D.Math is

Subprograms & Entries

Angle

function Angle 
(Point_1, Point_2, Point_3: Vector_3D) return Real;

Calls:

* defined at globe_3d-math.ads:22:13
- defined at globe_3d-math.ads:19:13
Ada.Numerics.Generic_Elementary_Functions.Arccos defined at a-ngelfu.ads:108:13
Normalized defined at globe_3d-math.ads:34:12
returns the angle between the vector Point_1 to Point_2 and the vector Point_3 to Point_2.

to_Degrees

function to_Degrees 
(Radians: Real) return Real;

References:

globe_3d-math.ads:43:13 (declaration)
globe_3d-math.adb:48:13 (body)

to_Radians

function to_Radians 
(Degrees: Real) return Real;

References:

globe_3d-math.ads:44:13 (declaration)
globe_3d-math.adb:50:13 (body)

Det

function Det 
(A: Matrix_33) return Real;

References:

globe_3d-math.ads:59:12 (declaration)
globe_3d-math.adb:143:13 (body)

XYZ_rotation

function XYZ_rotation 
(ax, ay, az: Real) return Matrix_33;

Calls:

* defined at globe_3d-math.ads:50:13
Ada.Numerics.Generic_Elementary_Functions.Cos defined at a-ngelfu.ads:78:13
Ada.Numerics.Generic_Elementary_Functions.Sin defined at a-ngelfu.ads:68:13

XYZ_rotation

function XYZ_rotation 
(v: Vector_3D) return Matrix_33;

Look_at

function Look_at 
(direction: Vector_3D) return Matrix_33;
Gives a rotation matrix that corresponds to look into a certain direction. Camera swing rotation is arbitrary. Left - multiply by XYZ_Rotation (0.0, 0.0, az) to correct it.

Look_at

function Look_at 
(eye, center, up: Vector_3D) return Matrix_33;

Re_Orthonormalize

procedure Re_Orthonormalize 
(M: in out Matrix_33);

Called by:

Actors.Rotation defined at actors.ads:38:14

Calls:

Ada.Numerics.Generic_Elementary_Functions.Sqrt defined at a-ngelfu.ads:42:13
This is for correcting cumulation of small computational errors, making the rotation matrix no more orthogonal

Almost_zero

function Almost_zero 
(x: GL.C_Float) return Boolean;

References:

globe_3d-math.ads:85:12 (declaration)
globe_3d-math.adb:304:13 (body)
globe_3d.adb:84:70 (call)

sub_Matrix

function sub_Matrix 
(Self: Matrix;
start_Row, end_Row, start_Col, end_Col: Positive) return Matrix;