Friday, December 12, 2008

Source code 5

#include "colors.inc"
#include "textures.inc"
#include "shapes.inc"
#include "metals.inc"
#include "glass.inc"
#version 3.0
global_settings { assumed_gamma 2.2 }




//------CAMERA ANGLES INCLUDE FRONT VIEW, SIDE VIEW AND TOP VIEW------


/*
//front view
camera {
location <0,>

look_at <-0, 25, -0>
}



light_source { <0,> White }
*/


camera {
location <0,>

look_at <0,>
}



light_source { <0,> White }

plane {
<0,>,
-1.0



texture {
pigment {White}
}


}


// TOP PART

#declare top1 = cylinder {
<0,>,
<0,>, 13.5

}



#declare top2 = torus {
14,
1

texture {
pigment {Red}
}

}




#declare curve = difference{

object{top1}
object {top2 translate y*61.2}

}

object {curve}

#declare top4 = merge{
cone {
62*y, 13,
78*y, 2

}

sphere { <0,>, 2.1

}
}



#declare door_box = box {
<-3, 66.5, -10>
<3,>
}

#declare door = difference{

object {top4 pigment {Red}}
object{door_box rotate y*45 pigment {White}}

}

object{door}



//LARGE METAL CONSTRUCTION
//METAL STEM

cylinder {
<0,>,
<0,>, 2.5

}


#declare ring = torus {
15,
0.5

texture {
pigment {Red}
}

}





//METAL CONNECTING PARTS

//metal part that connect the step to the ring


#declare metal_part = cylinder {
<1,>,
<15,>, .5

}

//metal part that connect the ring with other metal part

#declare metal_p1 = cylinder {
<15,>,
<22.25,>, .5

}


//metal part2 that connect the ring with other metal part

#declare metal_p2 = cylinder {
<0,>,
<22,>, .5

}

//metal part3 that connect the ring with other metal part

#declare metal_p3 = cylinder {
<22,>,
<34,>, .5
}


//metal part4 that connect the ring with other metal part

#declare metal_p4 = cylinder {
<22,>,
<12,>, .5
}

//metal part5 that connect the ring with other metal part

#declare metal_p5 = cylinder {
<0,>,
<34,>, .5
}


//metal part6 that connect the ring with other metal part

#declare metal_p6 = cylinder {
<34,>,
<34,>, .5
}

//metal part7 that connect the ring with other metal part

#declare metal_p7 = cylinder {
<12,>,
<34,>, .5
}


#declare metal_large = union{

object {metal_p3}
object {metal_p3 translate <-22, 0, -22>}
object {metal_p4}
object {metal_p5}
object {metal_p6}
object {metal_p7}

}
#declare stem_small = cylinder {
<0,>,
<0,>, .2
texture {
pigment {Red}
}

}

#declare stem_small_group = union{
object {stem_small}
object {stem_small rotate y*90}
object {stem_small rotate y*180}
object {stem_small rotate y*-90}

object {stem_small rotate y*45 translate <-1.5, 0, -1.5>}
object {stem_small rotate y*135 translate <-1.5, 0, 1.5>}
object {stem_small rotate y*-225 translate <1.5,>}
object {stem_small rotate y*-45 translate <1.5,>}
}

object {stem_small_group}


#declare small_top = cylinder {
<-9, 25.5, -22>,
<9,>, .2
texture {
pigment {Red}
}

}

//thin supporting metal parts that connect the ground and second level
#declare small_top_group = union{
object {small_top}
object {small_top rotate y*90}
object {small_top rotate y*180}
object {small_top rotate y*-90}

object {small_top rotate y*45}
object {small_top rotate y*135}
object {small_top rotate y*-135}
object {small_top rotate y*-45}
}

object {small_top_group}

#declare path = box {
<-4, 25.5, -20>
<4,>

texture {
pigment {Yellow}
}

}


object {path rotate y*45 translate <-5, 0, -5>}

//GROUP ALL METAL PARTS AND RING TOGETHER

#declare metal_large_group = union{

object {ring}

object {metal_part}
object {metal_part rotate y*90}
object {metal_part rotate y*-90}
object {metal_part rotate y*180}

object {metal_p1}
object {metal_p1 rotate y*90}
object {metal_p1 rotate y*-90}
object {metal_p1 rotate y*180}

object{metal_p2 }
object{metal_p2 rotate y*90}
object{metal_p2 rotate y*-90}
object{metal_p2 rotate y*180}

object {metal_large }
object {metal_large rotate y*90}
object {metal_large rotate y*-90}
object {metal_large rotate y*180}

}

object{metal_large_group}
object{metal_large_group translate y*39 scale 0.65 pigment {White}}



#declare ladder_p1 = cylinder {
<-25, -15, -25>,
<-25, 26, -25>, 0.8
}



#declare ladder_p2 = cylinder {
<-22, -15, -26>,
<-22, 25.8, -26>, 0.3
}



#declare ladder_step = cylinder {
<-22, 24, -26>,
<-28, 24, -26>, 0.3
}

#declare ladder_steps_group = union{
object {ladder_step}
object {ladder_step translate y*-2}
object {ladder_step translate y*-4}
object {ladder_step translate y*-6}
object {ladder_step translate y*-8}
object {ladder_step translate y*-10}
object {ladder_step translate y*-12}
object {ladder_step translate y*-14}
object {ladder_step translate y*-16}
object {ladder_step translate y*-18}
object {ladder_step translate y*-20}
object {ladder_step translate y*-22}
object {ladder_step translate y*-24}
object {ladder_step translate y*-26}
object {ladder_step translate y*-28}
object {ladder_step translate y*-30}
object {ladder_step translate y*-32}
object {ladder_step translate y*-34}
object {ladder_step translate y*-36}
object {ladder_step translate y*2}



}

#declare ladder_handles = cylinder {
<-1, 66, -6>,
<-8.5, 66, -13>, 0.3
}

object {ladder_handles pigment {Blue}}
object {ladder_handles translate <-4.2, 0, 4.2> pigment {Blue}}

#declare ladder_group = union{

object {ladder_p1}
object {ladder_p2}
object {ladder_p2 translate x*-6}
object {ladder_steps_group}
translate <2.5,>
}

object{ladder_group rotate <45,> translate <-8, -9, -40> pigment{Green}}
object{ladder_group rotate <0,> translate <22,> pigment{Green}}

object{ladder_p1 rotate <45,> translate <40.5,> pigment{Green}}
object{ladder_p1 rotate <45,> translate <-40.5, -11, 5.5> pigment{Green}}
object{ladder_p1 rotate <45,> translate <5.5,> pigment{Green}}


//LADDER 2




///////////////BARRIER

#declare barrier1 = cylinder {
<-16.75, 25.5, -22>,
<-16.75, 31.1, -22>, 0.3
}

#declare barrier2 = cylinder {
<-17, 31, -22>,
<17,>, 0.3
}


#declare barrier = union{

object {barrier1 }
object {barrier1 translate x*33.5 }
object {barrier2 }
}
#declare barrier_group = union{
object {barrier}
object {barrier rotate y*90 }
object {barrier rotate y*180 }
object {barrier rotate y*-90 }

}

object{barrier_group pigment{Blue}}

No comments: