GINO Graphics Suite - GINO v9.0  

gUntransformHomogPoint3D

Syntax

[C/C++:]
void gUntransformHomogPoint3D(float xh, float yh, float zh, float wh, GPOINT3 *point);
[F90:]
subroutine gUntransformHomogPoint3D(xh, yh, zh, wh, point)

real, intent(in) :: xh,yh,zh,wh
type (GPOINT3), intent(out) :: point

Arguments

xh,yh,zh,wh
Position in homogeneous coordinates

point
Untransformed 3-D position in space coordinates

Description

The routine gUntransformHomogPoint3D() transforms the point (xh,yh,zh,wh) into space coordinates using the inverse of the current modelling transformation. If transforming is switched off, point is set to xh,yh,zh. There is redundant information in (xh,yh,zh,wh), i.e. gUntransformHomogPoint3D() has to reduce four coordinate values down to three values. If there is no perspective in the transformation, wh is ignored. Otherwise, a check is made to see if the position in homogeneous coordinates is consistent with the current modelling transformation. If not, a warning message is output.

Homogeneous coordinates are related to picture coordinates as follows:

xp = xh/wh;

yp = yh/wh;

zp = zh/wh;

The view plane corresponds to wh = 1.0 and the eye plane corresponds to wh = 0.0.

Homogeneous coordinates are obtained from calls to gTransformHomogPoint3D().

See Also

gUntransformHomogPoint3D Usage