Descriptions and Samples for the POV-Ray raytracer by Friedrich A. Lohmüller
    deutsche Version

Overview overview    

How to Make a Cruise Missile

Objects: "sphere", "cylinder", "cone".
Methods: "#declare", "union", "difference",
        "#macro" "matrix".

This sample shows how to construct a Cruise Missile roket.

The Construction in details:

Step 1: The Wings

In an analog way to the "wings" at the "Torpedo" we buildt the wings here with a scaled and sheered cone. We use a macro to keep the design more flexible. The variables are the wing base radius "Wing_Radius1", the wing end radius "Wing_Radius2", the wing length "Wing_Height" and the sheering factor of the wings "Wing_Sheer".

The "Wing macro":

#macro Wing(Wing_Radius1,Wing_Radius2, 
            Wing_Height, Wing_Sheer)  
cone { <0,0,0>,Wing_Radius1,
       <0,Wing_Height,0>,Wing_Radius2  
       scale <1,1,0.1> 
       matrix<    1, 0, 0,   
        -Wing_Sheer, 1, 0,
                  0, 0, 1,
                  0, 0, 0>            
     } // end of cone ---------------
#end //------------------ end of macro

torpedo

Step 2: The Body


In the same way like the "Torpedo" we buildt the body by two ellipsoids (red) and a cylinder (yellow) all with the same radius. This time we use a macro to stay more flexible. The variables are the missile radius "M_Radius", the length of the missile "M_Len", the width of the wings "Wing_Width" and the scale used for the tail "Tail_Scale".

torpedo

#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

And here we add
some engines to the body:

torpedo

Step 3: All together now:

missile

Scene description for the Cruise Missile with POV-Ray:
".txt" file or ".pov" file

Overview overview    

© Friedrich A. Lohmüller, 2004     email email: (legacy email redacted)