#macro Missile (M_Radius, M_Len, M_Wing_Width, Tail_Scale)
union{
sphere { <0,0,0>,M_Radius scale<1.5,1,1>
} // end of sphere ---------------
cylinder{<-(M_Len-Tail_Scale*M_Radius),0,0>,<0,0,0>,M_Radius
} // end of cylinder ---------------
sphere { <0,0,0>,M_Radius scale<Tail_Scale,1,1>
translate<-(M_Len-Tail_Scale*M_Radius),0,0>
} // end of sphere ----------------
// the wings
object{ Wing(0.75,0.25,2.0,0.35) translate<-M_Len+0.8,0,0>}
object{ Wing(1.0,0.4,3.5,0.25) rotate < 85,0,0>
translate<-M_Len*0.7,-M_Radius/2,0>}
object{ Wing(1.0,0.4,3.5,0.25) rotate <-85,0,0>
translate<-M_Len*0.7,-M_Radius/2,0>}
// the engines
torus{ 0.8,0.5 rotate<0,0,90> scale<7,1,1>*0.25
rotate<0,3,3>
translate<-M_Len*0.85,M_Radius*0.95,-M_Radius/2>
} // end of torus ---------
torus{ 0.8,0.5 rotate<0,0,90> scale<8,1,1>*0.25
rotate<0,3,3>
translate<-M_Len*0.85,M_Radius*0.95,-M_Radius/2>
scale<1,1,-1>
} // end of torus ----------
}// end of union
#end //-------- end of missile macro |