Descriptions and Examples for the POV-Ray Raytracer by Friedrich A. Lohmüller
    POV-Ray Examples - How To Make Objects for POV-Ray
Italiano Italiano
Français français
Deutsch Deutsch

Home
- POV-Ray Tutorial
  - POV-Ray Examples
   Index of Content
  - Geometry
  - Architecture
  - Engineering
    - Ladder
    - Pylons
    - Railing
    - Bridge
    - Tubes
    - Tube Fork
    - Tube Stopcock
    - Chain
    - Coil of Wire
    - Torpedo
    - Cruise Missile
    - Rocket
    - Wheel
    - Truck
    - Propeller
    - Airplanes
    - Canoe
    - Guitar Body
    - 7-Segment Display
    - Ribbon Cable
    - Cable Harness
                                       
 
Cruise Missile

Cruise Missile
How to Make a Cruise Missile

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

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 
missile

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:
"missile.txt" or "missile.pov"
top

© Friedrich A. Lohmüller, 2009
www.f-lohmueller.de