#include "colors.inc"

background { color rgb <0.2, 0.2, 0.3> }                 

light_source {
  < 5.00, 50.00, 20.00 >
  color rgb < 1.00, 1.00, 1.00 >
}

light_source {
  < 10.00, -50.00, 20.00 >
  color rgb < 1.00, 1.00, 1.00 >
}        

camera {
  location 0.7*< 20.00, 10.00, 6.00 >
  right     < 2.40, 0.00, 0.00 >
  up        < 0.00, 0.00, 1.80 >
  sky       < 0.00, 1.00, 0.00 >
  look_at   < 0.00, 0.00, 0.00 >
}

 plane { -y, -500
    texture {
      pigment { Scarlet }
      finish { ambient 1 diffuse 0 }
     }
     texture {
       pigment {
         bozo
         turbulence .5
         color_map {
           [0 White]
           [1 White filter 1]
         }
       }
       finish { ambient 1 diffuse 0 }
       scale <1000, 250, 250>
       rotate <5, 45, 0>
    }
  }

 plane { y, -500
    texture {
      pigment { DarkGreen }
      finish { ambient 1 diffuse 0 }
     }
     texture {
       pigment {
         bozo
         turbulence .5
         color_map {
           [0 White]
           [1 White filter 1]
         }
       }
       finish { ambient 1 diffuse 0 }
       scale < 90, 22, 22 >
       rotate <5, 45, 0 >        
    }
  }     

#declare A1  = <   0, 7, 0 >;    
#declare A2  = < - 4, 7, 0 >;   
#declare A3  = < - 6, 1, 0 >;
#declare A4  = < -12, 0, 0 >;
#declare A5  = <   0, 5.5, 2 >;
#declare A6  = < -5, 4, 2 >;
#declare A7  = < -5, 0, 2 >;
#declare A8  = < -10, 0, 2 >;
#declare A9  = < 0, 2.5, 5 >;
#declare A10 = < -3, 2.5, 5 >;
#declare A11 = < -2, 1, 5 >;
#declare A12 = < -7.5, 0, 5 >;
#declare A13 = < 0, 0, 9 >;
#declare A14 = < -7, -1, 9 >;
#declare A15 = < -6, 0, 9 >;
#declare A16 = < -5, 0, 9 >;

#declare B1  = < 0,0,0 >;
#declare B2  = < -6,-3.5,0 >;
#declare B3  = < -4.5,-2.5,0 >;
#declare B4  = < -12,0,0 >;
#declare B5  = < 0,-2.5,2 >;
#declare B6  = < -4,-3,2 >;
#declare B7  = < -4,-2.6,2 >;
#declare B8  = < -10,0,2 >;
#declare B9  = < 0,-2,5 >;
#declare B10 = < -4.5,-2,5 >;
#declare B11 = < -4.5,0,5 >;
#declare B12 = < -7.5,-0.8,5 >;
#declare B13 = < 0,-1,9 >;
#declare B14 = < -2,-1.5,9 >;
#declare B15 = < -1,-1.3,9 >;
#declare B16 = < -5,-1,9 >;

#declare cor =
               texture {
                        pigment { BrightGold }
                        finish {
                                ambient .1
                                diffuse .4
                                reflection .5
                        }
                }               	


#declare p1nave =
	bicubic_patch{
		type 1 flatness 0.1 u_steps 4 v_steps 4,
 		A1,A2,A3,A4,
	      	A5,A6,A7,A8,
		A9,A10,A11,A12,
		A13,A14,A15,A16
		texture { cor }
	}

#declare p2nave =
        bicubic_patch{
		type 1 flatness 0.1 u_steps 4 v_steps 4,  
                B1,B2,B3,B4,
                B5,B6,B7,B8,
                B9,B10,B11,B12,
                B13,B14,B15,B16                  
                texture { cor }
        }

                            
#declare p_nave = 
	union {
		object { p1nave }
                object { p2nave } 
                object { 
			p1nave
			scale <1,1,-1> 
		}
                object {
                        p2nave
                        scale <1,1,-1>
                }                                                              
	}

#declare nave =
        union {
                object { p_nave }
                object { 
			p_nave 
			scale <-1,1,1>	
			}
	}

sphere { A1,  0.1 texture{ pigment{ color rgb <1, 0, 0> }}}
sphere { A2,  0.1 texture{ pigment{ color rgb <1, 0, 0> }}}
sphere { A3,  0.1 texture{ pigment{ color rgb <1, 0, 0> }}}
sphere { A4,  0.1 texture{ pigment{ color rgb <1, 0, 0> }}}
sphere { A5,  0.1 texture{ pigment{ color rgb <1, 0, 0> }}}
sphere { A6,  0.1 texture{ pigment{ color rgb <1, 0, 0> }}}
sphere { A7,  0.1 texture{ pigment{ color rgb <1, 0, 0> }}}
sphere { A8,  0.1 texture{ pigment{ color rgb <1, 0, 0> }}}
sphere { A9,  0.1 texture{ pigment{ color rgb <1, 0, 0> }}}
sphere { A10, 0.1 texture{ pigment{ color rgb <1, 0, 0> }}}
sphere { A11, 0.1 texture{ pigment{ color rgb <1, 0, 0> }}}
sphere { A12, 0.1 texture{ pigment{ color rgb <1, 0, 0> }}}
sphere { A13, 0.1 texture{ pigment{ color rgb <1, 0, 0> }}}
sphere { A14, 0.1 texture{ pigment{ color rgb <1, 0, 0> }}}
sphere { A15, 0.1 texture{ pigment{ color rgb <1, 0, 0> }}}
sphere { A16, 0.1 texture{ pigment{ color rgb <1, 0, 0> }}}

sphere { B1,  0.1 texture{ pigment{ color rgb <1, 0, 0> }}}
sphere { B2,  0.1 texture{ pigment{ color rgb <1, 0, 0> }}}
sphere { B3,  0.1 texture{ pigment{ color rgb <1, 0, 0> }}}
sphere { B4,  0.1 texture{ pigment{ color rgb <1, 0, 0> }}}
sphere { B5,  0.1 texture{ pigment{ color rgb <1, 0, 0> }}}
sphere { B6,  0.1 texture{ pigment{ color rgb <1, 0, 0> }}}
sphere { B7,  0.1 texture{ pigment{ color rgb <1, 0, 0> }}}
sphere { B8,  0.1 texture{ pigment{ color rgb <1, 0, 0> }}}
sphere { B9,  0.1 texture{ pigment{ color rgb <1, 0, 0> }}}
sphere { B10, 0.1 texture{ pigment{ color rgb <1, 0, 0> }}}
sphere { B11, 0.1 texture{ pigment{ color rgb <1, 0, 0> }}}
sphere { B12, 0.1 texture{ pigment{ color rgb <1, 0, 0> }}}
sphere { B13, 0.1 texture{ pigment{ color rgb <1, 0, 0> }}}
sphere { B14, 0.1 texture{ pigment{ color rgb <1, 0, 0> }}}
sphere { B15, 0.1 texture{ pigment{ color rgb <1, 0, 0> }}}
sphere { B16, 0.1 texture{ pigment{ color rgb <1, 0, 0> }}}

object {
	nave
        rotate<0,0,10>   
	rotate<15,0,0>
	}