/*******************************************************/ //Modélisation povray du robot aspirateur v2 //sylv robotique 05/07 /******************************************************/ #include "colors.inc" #include "shapes.inc" // la camera camera { location <0.0, 50, 0.0> look_at <0.0, 0.0, 0.0> } // trois sources de lumière light_source { <0, 20, -40> color <1,1,1>} light_source { <-40, 40, -20> color <1,1,1>} light_source { <40, 40, -20> color <1,1,1> } // sol = un plan plane { y, -70 pigment {color rgb <0,0,0.5>}} //fond=plan plane { z, -70 pigment {color rgb <0,0,0.5>}} //déclarations #declare d=5.5;//hauteur des entre_toises //coque extérieure du robot #declare coque = object { union{ cone{ < 0 , 0 , 0 > //centre du premier disque 34.5/2 //son rayon < 0 , 7 , 0 > //centre du deuxième disque 30.5/2 //son rayon open //cone ouvert } cylinder{ //cylindre rose < 0 , 7 , 0 > //centre du premier disque < 0 , 7+0.2 , 0 > //centre du deuxième disque 30.5/2 //rayon du cylindre //pigment {color < 0 , 0.3 , 3 > } //couleur } pigment {color < 1.5 , 1 , 1 > transmit 0.7} //couleur translate <-5,d-7+0.02,0> } } //une entre toise #declare entre_toise = object { cylinder{ //cylindre rose < 0 , 0 , 0 > //centre du premier disque < 0 , d , 0 > //centre du deuxième disque 0.3 //rayon du cylindre pigment { White } //couleur } } //un moto-reducteur //une entre toise #declare moto_reducteur = object { union{ union{ cylinder{ < 0 , -1.7/2 , 0 >,< 0 , 1.7/2 , 0 >, 2.7/2 pigment { color < 1 , 1 , 1 > } } cylinder{ < 0 , -1.7/2 , 0 >,< 0 , 1.7/2 , 0 >, 6/2 pigment { Black }} rotate < 0 , 0 , 90 > translate (5.5/2+1.7/2+2.5/2)*x } cylinder{ < 0 , -2.5/2 , 0 >,< 0 , 2.5/2 , 0 >, 0.25 pigment { color < 1 , 1 , 1 > } rotate < 0 , 0 , 90 > translate (5.5/2+2.5/2)*x } box {<-5.5/2,-3/2,-2.5/2>,<5.5/2,3/2,2.5/2> pigment {Red}} } } /**************************************************************/ //définition des objets union{ //le chassis box {<-12/2,0.0,-12.5/2>,<12/2,0.02,12.5/2> pigment {Grey}} //balai asirateur object {Round_Box_Union(<-14.5/2,-4,-29.5/2>,<14.5/2,0,29.5/2>,1) pigment {Black} translate <-7,0,0>} //les moto_reducteur object {moto_reducteur transform {rotate 90*y translate <3.5+2.5/2,-3/2,-12.5/2+5.5/2> }} object {moto_reducteur transform {rotate -90*y translate <3.5+2.5/2,-3/2,12.5/2-5.5/2> }} //les entre toises object {entre_toise transform {translate < -(12/2-0.5) , 0.02 , -(12.5/2-0.8) >} } object {entre_toise transform {translate < 1.4 , 0.02 , -(12.5/2-0.8) >} } object {entre_toise transform {translate < 1.4 , 0.02 , (12.5/2-0.8) >} } //la batterie object {Round_Box_Union(<6,-1,-12.5/2>, <10,3,12.5/2>, 1) pigment {Black}} //la carte ci box {<-6,0.02,-9.5/2>,<1,0.02+3.2,9.5/2> pigment {Yellow} translate <0,+1,0> } //la coque object {coque } translate <5,0,0> }