// Globe gridlines, with poles on Z-axis // Last edited on 1999-02-13 18:39:34 by stolfi // Requires // gridlines_thickness // gridlines_focus_lat // gridlines_polar_lat // gridlines_tropic_lat // gridlines_line_texture // gridlines_dot_texture // Defines // gridlines #declare cf = cos(gridlines_focus_lat); #declare sf = sin(gridlines_focus_lat); #declare cp = cos(gridlines_polar_lat); #declare sp = sin(gridlines_polar_lat); #declare ct = cos(gridlines_tropic_lat); #declare st = sin(gridlines_tropic_lat); #declare gridlines_dot = sphere{ <0,0,0>, 0.5*gridlines_thickness } #declare gridlines_meridian = intersection{ torus{ 1, 0.5*gridlines_thickness } plane { < -1,0,0 >, 0 translate cf*x } } #declare gridlines_focus_parallel = torus{ cf, 0.5*gridlines_thickness rotate 90*x } #declare gridlines_polar_parallel = torus{ cp, 0.5*gridlines_thickness rotate 90*x } #declare gridlines_tropic_parallel = torus{ ct, 0.5*gridlines_thickness rotate 90*x } #declare gridlines_noon_parallel = torus{ 1, 0.5*gridlines_thickness rotate 90*x } #declare gridlines = union{ union{ object{ gridlines_meridian rotate < 000,000,000 > } object{ gridlines_meridian rotate < 000,000,030 > } object{ gridlines_meridian rotate < 000,000,060 > } object{ gridlines_meridian rotate < 000,000,090 > } object{ gridlines_meridian rotate < 000,000,120 > } object{ gridlines_meridian rotate < 000,000,150 > } object{ gridlines_meridian rotate < 000,000,180 > } object{ gridlines_meridian rotate < 000,000,210 > } object{ gridlines_meridian rotate < 000,000,240 > } object{ gridlines_meridian rotate < 000,000,270 > } object{ gridlines_meridian rotate < 000,000,300 > } object{ gridlines_meridian rotate < 000,000,330 > } object{ gridlines_focus_parallel translate < 0, 0, +sf > } object{ gridlines_polar_parallel translate < 0, 0, +sp > } object{ gridlines_tropic_parallel translate < 0, 0, +st > } object{ gridlines_noon_parallel translate < 0, 0, 0 > } object{ gridlines_tropic_parallel translate < 0, 0, -st > } object{ gridlines_polar_parallel translate < 0, 0, -sp > } object{ gridlines_focus_parallel translate < 0, 0, -sf > } texture{ gridlines_line_texture } } object{ gridlines_dot texture{ gridlines_dot_texture } translate <0, 0, 1> } }