fastest 3D software for linux

Linux 3D
interactive ray-tracing
[1 introduction] [2 overview] [3 reference] [4 GUI]

Index

 E3d_TriangleNormal
 E3d_GetAngle2D_deg
 E3d_GetAngle2D_rad
 E3d_LonLatToXYZ_deg
 E3d_LonLatToXYZ_rad
 E3d_LonLatToXYZUnit_rad
 E3d_SolveQuintic


E3d_TriangleNormal

Calculate the normal vector of a triangle

Syntax
void E3d_TriangleNormal(const E3dCoord3* PPoint0, const E3dCoord3* PPoint1, const E3dCoord3* PPoint2, E3dCoord3* PNormal)

Arguments
const E3dCoord3* PPoint0 Point0 const E3dCoord3* PPoint1 Point1 const E3dCoord3* PPoint2 Point2 E3dCoord3* PNormal Pointer to the result
Description
Returns the normal vector of a triangle, specified by 3 points, in PNormal.

Return value
None.

E3d_GetAngle2D_deg

Get angle of a normalized 2D vector, in degrees

Syntax
E3dCoordinate E3d_GetAngle2D_deg(const E3dCoordinate PX, const E3dCoordinate PY)

Arguments
const E3dCoordinate PX The X coordinate of the point const E3dCoordinate PX The X coordinate of the point
Description
Returns the angle of a 2D vector, in degrees, from the +X axis.

Return value
The angle in degrees.

E3d_GetAngle2D_rad

Get angle of a normalized 2D vector, in radians

Syntax
E3dCoordinate E3d_GetAngle2D_rad(const E3dCoordinate PX, const E3dCoordinate PY)

Arguments
const E3dCoordinate PX The X coordinate of the point const E3dCoordinate PX The X coordinate of the point
Description
Returns the angle of a 2D vector, in radians, from the +X axis.

Return value
The angle in radians.

E3d_LonLatToXYZ_deg

Compute XYZ from Longitude, Latitude (degrees) and Distance

Syntax
void E3d_LonLatToXYZ_deg(E3dCoordinate PLongitude, const E3dCoordinate PLatitude, const E3dCoordinate PDistance, E3dCoord3* P3DPosition)

Arguments
E3dCoordinate PLongitude Longitude, in degrees const E3dCoordinate PLatitude Latitude, in degrees const E3dCoordinate PDistance Radius E3dCoord3* P3DPosition Pointer to return value
Description
XYZ coordinates from longitude, latitude and distance.

Return value
None.

E3d_LonLatToXYZ_rad

Compute XYZ from Longitude, Latitude (radians) and Distance

Syntax
void E3d_LonLatToXYZ_rad(const E3dCoordinate PLongitude, const E3dCoordinate PLatitude, const E3dCoordinate PDistance, E3dCoord3* P3DPosition)

Arguments
const E3dCoordinate PLongitude Longitude, in radians const E3dCoordinate PLatitude Latitude, in radians const E3dCoordinate PDistance Radius E3dCoord3* P3DPosition Pointer to return value
Description
XYZ coordinates from longitude, latitude and distance.

Return value
None.

E3d_LonLatToXYZUnit_rad

Derived from this, by simplification:

Syntax
void E3d_LonLatToXYZUnit_rad(const E3dCoordinate PLongitude, const E3dCoordinate PLatitude, E3dCoord3* P3DPosition)

Arguments
const E3dCoordinate PLongitude Longitude, in radians const E3dCoordinate PLatitude Latitude, in radians PDistance Radius E3dCoord3* P3DPosition Pointer to return value
Description
XYZ coordinates from longitude and latitude

Return value
None.

E3d_SolveQuintic

Quintic equation solver

Syntax
int E3d_SolveQuintic(const double dd[6], const double xstart, double sol[5], double soli[5])

Arguments
dd(0:4) (i) vector containing the polynomial coefficients sol(1:4) (o) results, real part soli(1:4) (o) results, imaginary part Nsol (o) number of real solutions
Description
Uses a hybrid method: first, a real solution is obtained numerically by the Newton method, then, the remaining four roots are obtained analytically by QUARTIC

Return value
The number of roots found, or an error code, such as E_INCOMPATIBLE_DATA
© 1996-2022 By Gabor Nagy