Unit math_3d

Classes, Interfaces, Objects and Records
Constants

Description

Contains definitions of 3D primitive functions.

This software is distributed under GPL in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the warranty of FITNESS FOR A PARTICULAR PURPOSE.

Uses

  • SimpMath

Overview

Functions and Procedures

procedure Dilatation(A, B, C: double);
procedure GetMatrixDilat(A, B, C: double; var Matr: TMatrix);
procedure GetMatrixRotX(Angle: double; var Matr: TMatrix);
procedure GetMatrixRotY(Angle: double; var Matr: TMatrix);
procedure GetMatrixRotZ(Angle: double; var Matr: TMatrix);
procedure GetMatrixTrans(A, B, C: double; var Matr: TMatrix);
procedure GetMatrixTransition(Al, Bt, Gm: double; var Matr: TMatrix);
procedure GetReverseMatrix(var Matr: TMatrix);
procedure GetUnitMatrix(var Matr: TMatrix);
procedure GetZerosMatrix(var Matr: TMatrix);
procedure Mul3DMatrix(var A, B: TMatrix; var Matr: TMatrix);
procedure MulVectMatr(Matr: TMatrix; var Vector: T3Vector);
procedure Pro(A, B, C: double);
function Rad(Angle: double): double;
procedure ReflectionXY;
procedure ReflectionYZ;
procedure ReflectionZX;
procedure RotationX(Angle: double);
procedure RotationX2(Angle: double);
procedure RotationY(Angle: double);
procedure RotationY2(Angle: double);
procedure RotationZ(Angle: double);
procedure StandardVectTrans(var Vector: T3Vector);
procedure Transition(Al, Bt, Gm: double);
procedure Translation(A, B, C: double);

Types

T3Vector = TDoubleVector3;
T4Vector = array[1..4] of double;
TMatrix = array[1..4, 1..4] of double;

Variables

DilatMatr: TMatrix;
RotXMatr: TMatrix;
RotYMatr: TMatrix;
RotZMatr: TMatrix;
TempMatr: TMatrix;
TempMatr2: TMatrix;
TempRotMatr: TMatrix;

Description

Functions and Procedures

procedure Dilatation(A, B, C: double);
 
procedure GetMatrixDilat(A, B, C: double; var Matr: TMatrix);

Returns dilatation matrix.

procedure GetMatrixRotX(Angle: double; var Matr: TMatrix);

Returns rotation matrix around X-axis. The angle is given in radians.

procedure GetMatrixRotY(Angle: double; var Matr: TMatrix);

Returns rotation matrix around Y-axis. The angle is given in radians.

procedure GetMatrixRotZ(Angle: double; var Matr: TMatrix);

Returns rotation matrix around Z-axis. The angle is given in radians.

procedure GetMatrixTrans(A, B, C: double; var Matr: TMatrix);

Returns translation matrix.

procedure GetMatrixTransition(Al, Bt, Gm: double; var Matr: TMatrix);

Returns transformation matrix.

procedure GetReverseMatrix(var Matr: TMatrix);

Returns inverse matrix.

procedure GetUnitMatrix(var Matr: TMatrix);

Returns unitary matrix.

procedure GetZerosMatrix(var Matr: TMatrix);
 
procedure Mul3DMatrix(var A, B: TMatrix; var Matr: TMatrix);

Returns product of matrices. Result is placed into Matr parameter. As result container any of the original variables can be given.

procedure MulVectMatr(Matr: TMatrix; var Vector: T3Vector);
 
procedure Pro(A, B, C: double);
 
function Rad(Angle: double): double;
 
procedure ReflectionXY;
 
procedure ReflectionYZ;
 
procedure ReflectionZX;
 
procedure RotationX(Angle: double);
 
procedure RotationX2(Angle: double);
 
procedure RotationY(Angle: double);
 
procedure RotationY2(Angle: double);
 
procedure RotationZ(Angle: double);
 
procedure StandardVectTrans(var Vector: T3Vector);
 
procedure Transition(Al, Bt, Gm: double);
 
procedure Translation(A, B, C: double);
 

Types

T3Vector = TDoubleVector3;
 
T4Vector = array[1..4] of double;
 
TMatrix = array[1..4, 1..4] of double;
 

Variables

DilatMatr: TMatrix;
 
RotXMatr: TMatrix;
 
RotYMatr: TMatrix;
 
RotZMatr: TMatrix;
 
TempMatr: TMatrix;
 
TempMatr2: TMatrix;
 
TempRotMatr: TMatrix;
 

Author

  • Dmitry Morozov dvmorozov@hotmail.com, LinkedIn https://ru.linkedin.com/pub/dmitry-morozov/59/90a/794, Facebook https://www.facebook.com/profile.php?id=100004082021870

Generated by PasDoc 0.15.0.