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