Previous: pl3el Up: ../plot79_p.html Next: plna2
SUBROUTINE PL3SP (PH,TH,R,VISBLE) C$ (3-D Spherical Polar Pen Movement) C$ Change the angular variables (PH,TH,R) to the Cartesian C$ coordinates X,Y,Z so as to define directly in spherical C$ polar coordinates points which lie upon the surface of a C$ constant sphere and graph their projection on the X-Z C$ plane, where the Z axis is vertical, and the X axis is C$ positive to the right. Points with positive Y values lie C$ behind the plane and are marked as invisible. (PH,TH,R) C$ are all assumed to be scaled to the unit interval. The C$ Cartesian coordinates (X,Y,Z) are adjusted to the unit C$ interval and passed to MOVA3/LINA3 as (X,Z,Y), so that the C$ default view plane (the X-Y plane) will receive the image. C$ Spherical coordinate ranges are: C$ C$ 0 .LE. RHO .LE. infinity C$ 0 .LE. PHI .LE. 2*pi C$ 0 .LE. THETA .LE. pi C$ C$ See H. Margenau and G.M. Murphy, "Mathematics of Physics C$ and Chemistry", 2nd Ed., Van Nostrand (1956), Vol 1, p. C$ 177. These are related to the Cartesian coordinates by C$ C$ X = RHO*SIN(THETA)*COS(PHI) C$ Y = RHO*SIN(THETA)*SIN(PHI) C$ Z = RHO*COS(THETA) C$ C$ The coordinate surfaces are C$ (1) Concentric spheres about the origin (RHO = constant) C$ (2) Right circular cones with apex at the origin and axis C$ along Z (THETA = constant) C$ (3) Half planes from the Z axis (PHI = constant). C$ C$ To obtain coordinates (PH,TH,R) expressed on the unit C$ interval, (PHI,THETA,RHO) are transformed as follows: C$ C$ PH = PHI/TWOPI C$ TH = THETA/PI C$ R = RHO (simply clipped to 0..1) C$ C$ Note that since THETA is measured from the positive Z axis, C$ the range of TH, (0.0..1.0), corresponds to the range of Z, C$ (+R..-R). Thus to get lettering upright on the sphere, the C$ up direction should be set to (0,-1,0). C$ (09-APR-82)