// Persistence of Vision Ray Tracer Scene Description File // File: screwdriver.pov // Vers: 3.1 // Desc: screwdriver // Date: 8/30/98 // Auth: ArfGrafix // ==== Standard POV-Ray Includes ==== #include "colors.inc" // Standard Color definitions #include "textures.inc" // Standard Texture definitions #include "metals.inc" // Standard Texture definitions //*******************LIGHTS, CAMERA, BACKGROUND******************************************* // create a regular point light source light_source { 0*x // light's position (translated below) color red 1.0 green 1.0 blue 1.0 // light's color translate <-20, 40, -20> } camera { location <0 , 2.0 ,-2> look_at <-5, 0.0 , 0.0> } // Set a color of the background (sky) background { color red 0.1 green 0.3 blue 0.8 } //**************************END LIGHTS, CAMERAS, BACKGROUNDS************************** //*************************OBJECT DECLARATIONS************************************** #declare cyl1 = union { cylinder { <0,0,0> <3,0,0>,.75 } sphere { <0,0,0>, .75 } sphere { <3,0,0>, .75 }} #declare cyl2 = cylinder { <-1,1,0> <4,1,0>,.5 pigment { White }scale <1,2,1> translate y*-.5 } #declare cyl3 = cylinder { <0,0,0> <-5,0,0>, .15 pigment { Green } } #declare point = cone { <0,0,0>, .15 <-3,0,0>, .35 } #declare p1 = plane { y, .15} #declare one_side_sliced = intersection{ object { p1 pigment { Green } rotate -1*z } object { point pigment { Green } } bounded_by { sphere { <-4.9,0,0>, 3 } } } #declare other_side_sliced = intersection { object { p1 pigment { Green } rotate 180*x rotate -1*z } object { one_side_sliced } } #declare right_side_sliced = intersection { object { other_side_sliced } object { p1 pigment { Green } rotate -90*x rotate -1*z } } #declare left_side_sliced = intersection { object { right_side_sliced } object { p1 pigment { Green } rotate 90*x rotate -1*z } } //*********************END OBJECT DECLARATIONS**************************************** //**************************ROUTINES, LOPPS, ETC.************************************* #declare thrill = union { #declare c = 0; #while ( c < 360 ) object { cyl2 rotate x*c } #declare c = c + 60; #end } #declare gwp = difference { object { cyl1 pigment { Red } } object { thrill } } //**************************ROUTINES, LOPPS, ETC.************************************* //*********************OBJECT PRESENTATION AREA************************************** /* object { cyl1 } object { cyl2 } */ object { gwp } object { cyl3 } object { left_side_sliced translate <-4.9,0,0> } //*********************END OBJECT PRESENTATION AREA**************************************