Home page

Home page

Pov ray code


global_settings { assumed_gamma 2.2 }

#include "colors.inc"
#include "textures.inc"

// OBJECT

#declare MAXRAYON=15
#declare MINRAYON=12
#declare BLOCRAYON=7
#declare HAUTBLOC=7
#declare HAUTEUR=5
#declare LDENT=3
#declare TROURAYON=3

#declare A= cylinder { < 0 , - HAUTEUR / 2 , 0 > , < 0 , HAUTEUR / 2 , 0 > MAXRAYON }
#declare B= box { < - MAXRAYON , - HAUTEUR-2 , - LDENT/2 > < MAXRAYON , HAUTEUR/2 , LDENT/2 > }

#declare C=union {
# declare alfa = 0
#while ( alfa <= 180 )
object { B rotate <0,alfa,0> }
# declare alfa = alfa + 30

#end
}

#declare D=intersection{
object {A}
object {C}
}

#declare E=union {
object{D}
cylinder { < 0 , - HAUTEUR/2 , 0 > , < 0 , HAUTEUR/2 , 0 > MINRAYON }
}
#declare F=union {
object {E}
cylinder { < 0 , - HAUTBLOC/2 , 0 > , < 0 , HAUTBLOC/2 , 0 > BLOCRAYON }
}
#declare G=difference {
object {F}
cylinder { < 0 , - (HAUTBLOC+1)/2 , 0 > , < 0 , (HAUTBLOC+1)/2 , 0 > TROURAYON }
}



// SCENE

camera {
location <0, 80, 0>
look_at <0, 0, 0>
}

light_source { <30, 50, 30> colour White }
light_source { <-30, 50, -30> colour White }


plane { y, - HAUTEUR / 2
pigment { colour White }
}


object {
object{G}
texture { Chrome_Metal }
rotate y*(clock-15)
translate <-27,0,0>
}

object {
object{G}
rotate y*(clock)
texture { New_Brass }
}


object {
object{G}
texture { Copper_Metal }
rotate y*(clock+15)
translate <20,0,20>
}

link to file

Home page