! Preliminary setups. alias black setrgb 0 0 0 alias white setrgb 1 1 1 com /usr/local/lib/plotl/72colortable.plot ! Load up an array. This is typically done ! with ARRAY, ARRAYX, and ARRAYY, but I'll ! just generate an array internally arrayxscale 73 0 5 arrayyscale 37 0 5 z={ x dtr 1 mul cos y dtr 1 mul sin mul } doarraymath ! Move origin, set dimensions (note that zdim is zero and that ! xdim controls the radius of the sphere), and define rotation. origin 3 3 zdim 0 xdim 3 ydim 3 3drot -45 0 -30 ! Choose spherical projection. In the spherical projection, X becomes ! theta, and Y becomes phi, in the usual sense. Hence, X is expected ! to range from 0 to 360 (or -180 to 180) or some part thereof. And ! Y is expected from 0 to 180 (North colatitude) or some part thereof. spherical ! Turn off grid lines, we'll do them manually later. noylines noxlines ! Draw the colored surface. solid ! Draw the cooridinate grid. white xscale yscale zscale ! First the longitude lines every 30 degrees. $loops=12 loop $loops 3dmove {$loop 1 sub 360 $loops div mul} 0 0 3ddraw {$loop 1 sub 360 $loops div mul} 180 0 60 endloop ! Now the longitude lines every 15 degrees, but stop short ! of the poles to avoid clutter. $loops=24 loop $loops 3dmove {$loop 1 sub 360 $loops div mul} 15 0 3ddraw {$loop 1 sub 360 $loops div mul} 165 0 60 endloop ! Now the latitude grid, every 15 degrees. $loops=12 loop $loops 3dmove 0 {$loop 1 sub 180 $loops div mul} 0 3ddraw 120 {$loop 1 sub 180 $loops div mul} 0 60 3ddraw 240 {$loop 1 sub 180 $loops div mul} 0 60 3ddraw 360 {$loop 1 sub 180 $loops div mul} 0 60 endloop ! Draw the world map using the now-defined projection. black data /usr/local/lib/plotl/world1.dat skip 2 xcol 1 ycol 2 pencolumn 3 c3={1 c3 sub} z={0} y={90 y sub} load do3dplot