Viewpoint routines alter the current transformation matrix.

Specify the viewer's position in polar coordinates by giving the distance from the viewpoint to the world origin, the azimuthal angle in the x-y plane, measured from the y-axis, the incidence angle in the y-z plane, measured from the z-axis, and the twist angle about the line of sight.

Fortran: subroutine polarview(dist, azim, inc, twist) real dist, azim, inc, twist C: polarview(dist, azim, inc, twist) float dist, azim, inc, twist; Pascal: procedure PolarView(dist, azim, inc, twist: real)

Specify the world up. This can be used to prevent lookat's sometimes annoying habit of turning everything upside down due to the line of sight crossing the appropriate axis.

Fortran: subroutine up(x, y, z) real x, y, z C: up(x, y, z) float x, y, z; Pascal: procedure Up(x, y, z: real)

Specify the viewer's position by giving a viewpoint and a reference point in world coordinates. A twist about the line of sight may also be given.

Fortran: subroutine lookat(vx, vy, vz, px, py, pz, twist) real vx, vy, vz, px, py, pz, twist C: lookat(vx, vy, vz, px, py, pz, twist) float vx, vy, vz, px, py, pz, twist; Pascal: procedure LookAt(vx, vy, vz, px, py, pz, twist: real)

*Created: 19960717*