// Persistence of Vision data file created with a demo of GUM: The Demo

//Copyright 1994 by William J. Richard
//May be freely distributed/used/modified for any non commercial purpose
//as long as this notice is included.

#include "colors.inc"
#include "textures.inc"

#max_trace_level 8
#max_intersections 100


camera 
{
   right     < 1, 0, 0   >
   up        < 0, 1, 0   >
   direction < 0, 0, 0.5 >
   location  < 0, 0, 0   >

   scale < 1540.9, 1155.7, 2311.4 >
   rotate < 45.073, -69.517, 0 >
   translate < 1516.9, 1637.3, -591.74 >
}


// Object type: OmniLight
// Name: 'Omni' Light #2 (Camera)
light_source 
{
   < 1495, 1555, -1130 >
   color rgb < 0.7, 0.7, 0.7 >
}

// Object type: OmniLight
// Name: 'Omni' Light #1 (Overhead)
light_source 
{
   < 0, 2995, 0 >
   color rgb < 1, 1, 1 >
}


// Object type: Difference
// Name: Bowl
difference
{
// Object type: Torus
// Name: NoName
object
{
   torus { 0.75, 0.25 }

   scale < 1000, 1000, 1000 >
   rotate < 0, 0, 0 >
   translate < 0, 0, 0 >

   texture { Rosewood scale 100}
}

// Object type: Cone
// Name: NoName
object
{
   cone { < 0, 0, 0 >, 1, < 0, 1, 0 >, 0 open }

   scale < 988.71, 2067.8, 988.71 >
   rotate < 3.6223e-06, -3.6223e-06, 180 >
   translate < 0, 255, 0 >

   texture { Rosewood scale 100 }
}
}

// Object type: Cone
// Name: Rotor Cone
object
{
   cone { < 0, 0, 0 >, 1, < 0, 1, 0 >, 0 open }

   pigment {
	radial
	color_map {[0.5 color red 0.7][0.5 color Black]}
	frequency 18
   }
   scale < 740.75, 255.1, 740.75 >
   rotate < 0, 0, 0 >
   translate < 0, -110, 0 >


}

// Object type: Cone
// Name: Spindle 1
object
{
   cone { < 0, 0, 0 >, 1, < 0, 1, 0 >, 0 open }

   scale < 85, 305, 85 >
   rotate < 0, 0, 0 >
   translate < 0, 95, 0 >

   texture { Polished_Chrome }
}

// Object type: Sphere
// Name: Spindle 2
object
{
   sphere { < 0, 0, 0 >, 1 }

   scale < 155, 100, 155 >
   rotate < 0, 0, 0 >
   translate < 0, 395, 0 >

   texture { Polished_Chrome }
}

// Object type: Torus
// Name: Rim
object
{
   torus { 0.95, 0.05 }

   scale < 955, 955, 955 >
   rotate < 0, 0, 0 >
   translate < 0, 125, 0 >

   texture { Rosewood scale 100 }
}

// Object type: Disc
// Name: Rotor Disk
object
{
   disc { < 0, 0, 0 >, < 0, 1, 0 >, 1, 0 }

   pigment {
	radial
	color_map {[0.08 color White][0.08 color Black]}
	frequency 36
   }
   scale < 800, 40, 800 >
   rotate < 0, 0, 0 >
   translate < 0, -111, 0 >


}

// Object type: Cone
// Name: Handle 1
object
{
   cone { < 0, 0, 0 >, 1, < 0, 1, 0 >, 0 open }

   scale < 35, 255, 35 >
   rotate < 0, 0, -90 >
   translate < 135, 400, 0 >

   texture { Polished_Chrome }
}

// Object type: Cone
// Name: Handle 2
object
{
   cone { < 0, 0, 0 >, 1, < 0, 1, 0 >, 0 open }

   scale < 35, 255, 35 >
   rotate < 90, 0, -90 >
   translate < 0, 400, 135 >

   texture { Polished_Chrome }
}

// Object type: Cone
// Name: Handle 3
object
{
   cone { < 0, 0, 0 >, 1, < 0, 1, 0 >, 0 open }

   scale < 35, 255, 35 >
   rotate < -180, 0, -90 >
   translate < -135, 400, 0 >

   texture { Polished_Chrome }
}

// Object type: Cone
// Name: Handle 4
object
{
   cone { < 0, 0, 0 >, 1, < 0, 1, 0 >, 0 open }

   scale < 35, 255, 35 >
   rotate < -90, 0, -90 >
   translate < 0, 400, -135 >

   texture { Polished_Chrome }
}

// Object type: Sphere
// Name: Handle End 1
object
{
   sphere { < 0, 0, 0 >, 1 }

   scale < 25, 25, 25 >
   rotate < 0, 0, 0 >
   translate < 380, 400, 0 >

   texture { Polished_Chrome }
}

// Object type: Sphere
// Name: Handle End 2
object
{
   sphere { < 0, 0, 0 >, 1 }

   scale < 25, 25, 25 >
   rotate < 0, 0, 0 >
   translate < -380, 400, 0 >

   texture { Polished_Chrome }
}

// Object type: Sphere
// Name: Handle End 3
object
{
   sphere { < 0, 0, 0 >, 1 }

   scale < 25, 25, 25 >
   rotate < 0, 0, 0 >
   translate < 0, 400, -380 >

   texture { Polished_Chrome }
}

// Object type: Sphere
// Name: Handle End 4
object
{
   sphere { < 0, 0, 0 >, 1 }

   scale < 25, 25, 25 >
   rotate < 0, 0, 0 >
   translate < 0, 400, 380 >

   texture { Polished_Chrome }
}

// Object type: Cylinder
// Name: Base
object
{
   cylinder { < 0, 0, 0 >, < 0, 1, 0 >, 1 open }

   scale < 1000, 250, 1000 >
   rotate < 0, 0, 0 >
   translate < 0, -250, 0 >

   texture { Rosewood  scale 100}
}

// Object type: Cone
// Name: Spindle 3
object
{
   cone { < 0, 0, 0 >, 1, < 0, 1, 0 >, 0 open }

   scale < 45, 190, 45 >
   rotate < 0, 0, 0 >
   translate < 0, 465, 0 >

   texture { Polished_Chrome }
}

// Object type: Difference
// Name: 'and not'
difference
{

// Object type: Sphere
// Name: Spindle 4
object
{
   sphere { < 0, 0, 0 >, 1 }

   scale < 35, 35, 35 >
   rotate < 0, 0, 0 >
   translate < 0, 640, 0 >

   texture { Polished_Chrome }
}

// Object type: Box
// Name: NoName
object
{
   box { < 0, 0, 0 >, < 1, 1, 1 > }

   scale < 95, 55, 105 >
   rotate < 0, 0, 0 >
   translate < -45, 635, -50 >

   texture { Polished_Chrome }
}
}

// Object type: Sphere
// Name: Ball
object
{
   sphere { < 0, 0, 0 >, 1 }

   scale < 25, 25, 25 >
   rotate < 0, 0, 0 >
   translate < 0, 645, 0 >

   texture { Polished_Chrome }
}
// Object type: Box
// Name: NoName
object
{
   box { < 0, 0, 0 >, < 1, 1, 1 > }

   scale < 35, 35, 35 >
   rotate < -45, 1.2074e-06, -153.36 >
   translate < -850, 0, 0 >

   texture { Polished_Chrome }
}

// Object type: Box
// Name: NoName
object
{
   box { < 0, 0, 0 >, < 1, 1, 1 > }

   scale < 40.034, 40.034, 40.034 >
   rotate < -45.19, 0, -31.795 >
   translate < 820, -45, -3.5527e-14 >

   texture { Polished_Chrome }
}

// Object type: Box
// Name: NoName
object
{
   box { < 0, 0, 0 >, < 1, 1, 1 > }

   scale < 35, 35, 35 >
   rotate < -131.62, -52.868, -91.58 >
   translate < -2.1316e-14, -0.56629, 850.24 >

   texture { Polished_Chrome }
}

// Object type: Box
// Name: NoName
object
{
   box { < 0, 0, 0 >, < 1, 1, 1 > }

   scale < 35, 35, 35 >
   rotate < 41.784, 61.438, -92.128 >
   translate < 2.8333e-13, -1.558, -849.31 >

   texture { Polished_Chrome }
}
 
 // Object type: Plane
 // Name: NoName
 object
 {
    plane { y, -230 }
    texture { 
     pigment { color green 0.7 }
     finish {
	 diffuse 0.4
	ambient 0.2
    }
   }
}


object {
   plane { y, 3000 }
   texture {
	pigment {
	    hexagon color Gray90 color Gray50 color Gray70
	}
	finish {
	    ambient 0.8
	}
	scale 300
   }
}

// Object type: Cylinder
// Name: Red Stack
object
{
   cylinder { < 0, 0, 0 >, < 0, 1, 0 >, 1  }

   scale < 60, 240, 60 >
   rotate < 0, 0, 0 >
   translate < -1510, -230, -305 >

   texture { 
	pigment {
	    gradient y
	    color_map {[0.1 color Black][0.1 color Red]}
	    scale 4
	}
   }
}

// Object type: Cylinder
// Name: White Stack
object
{
   cylinder { < 0, 0, 0 >, < 0, 1, 0 >, 1  }

   scale < 60, 140, 60 >
   rotate < 0, 0, 0 >
   translate < -1860, -230, -885 >

   texture { 
	pigment {
	    gradient y
	    color_map {[0.1 color Black][0.1 color White]}
	    scale 4
	}
   }
}

// Object type: Cylinder
// Name: Blue Stack
object
{
   cylinder { < 0, 0, 0 >, < 0, 1, 0 >, 1  }

   scale < 60, 180, 60 >
   rotate < 0, 0, 0 >
   translate < -1990, -230, 50 >

   texture { 
	pigment {
	    gradient y
	    color_map {[0.1 color Black][0.1 color Blue]}
	    scale 4
	}
   }
}

// Object type: Cylinder
// Name: Blue Chip
object
{
   cylinder { < 0, 0, 0 >, < 0, 1, 0 >, 1  }

   scale < 60, 4, 60 >
   rotate < 0, 0, 0 >
   translate < -1960, -230, 400 >

   pigment { color Blue }
}

// Object type: Cylinder
// Name: Blue Chip
object
{
   cylinder { < 0, 0, 0 >, < 0, 1, 0 >, 1  }

   scale < 60, 4, 60 >
   rotate < -3.0128, 0, 0 >
   translate < -1940, -225, 290 >

   pigment { color Blue }
}

// Object type: Cylinder
// Name: Blue Chip
object
{
   cylinder { < 0, 0, 0 >, < 0, 1, 0 >, 1  }

   scale < 60, 4, 60 >
   rotate < 0, 0, 0 >
   translate < -2085, -230, 210 >

   pigment { color Blue }
}

// Object type: Cylinder
// Name: Red Chip
object
{
   cylinder { < 0, 0, 0 >, < 0, 1, 0 >, 1  }

   scale < 60, 4, 60 >
   rotate < 0, 0, 0 >
   translate < -1820, -230, -185 >

   pigment { color Red }
}

// Object type: Cylinder
// Name: Red Chip
object
{
   cylinder { < 0, 0, 0 >, < 0, 1, 0 >, 1  }

   scale < 60, 4, 60 >
   rotate < 0, 0, 0 >
   translate < -1660, -230, -140 >

   pigment { color Red }
}

// Object type: Cylinder
// Name: White Chip
object
{
   cylinder { < 0, 0, 0 >, < 0, 1, 0 >, 1  }

   scale < 60, 4, 60 >
   rotate < 0, 0, 0 >
   translate < -2005, -230, -625 >

   pigment { color White }
}

// Object type: Cylinder
// Name: White Chip
object
{
   cylinder { < 0, 0, 0 >, < 0, 1, 0 >, 1  }

   scale < 60, 4, 60 >
   rotate < 2.3832, 0, 0 >
   translate < -1950, -225, -545 >

   pigment { color White }
}

// Object type: Cylinder
// Name: White Stack
object
{
   cylinder { < 0, 0, 0 >, < 0, 1, 0 >, 1  }

   scale < 60, 120, 60 >
   rotate < 0, 0, 0 >
   translate < -1695, -230, -785 >

   texture { 
	pigment {
	    gradient y
	    color_map {[0.1 color Black][0.1 color White]}
	    scale 4
	}
   }
}

// Object type: Cylinder
// Name: Red Stack
object
{
   cylinder { < 0, 0, 0 >, < 0, 1, 0 >, 1  }

   scale < 60, 300, 60 >
   rotate < 0, 0, 0 >
   translate < -1690, -230, -335 >

   texture { 
	pigment {
	    gradient y
	    color_map {[0.1 color Black][0.1 color Red]}
	    scale 4
	}
   }
}

// Object type: Cylinder
// Name: Blue Stack
object
{
   cylinder { < 0, 0, 0 >, < 0, 1, 0 >, 1  }

   scale < 60, 220, 60 >
   rotate < 0, 0, 0 >
   translate < -2205, -230, 60 >

   texture { 
	pigment {
	    gradient y
	    color_map {[0.1 color Black][0.1 color Blue]}
	    scale 4
	}
   }
}

