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
      - 1. Chassis
      - 2. Car Body
      - 3. Tractor
      - 4. with Tailer
    - Propeller
    - Airplanes
    - Canoe
    - Guitar Body
    - 7-Segment Display
    - Ribbon Cable
    - Cable Harness
                                       
 
Chassis

Truck - 1. Wheels and Chassis

Objects: "torus", "cylinder", "sphere".
Methods: "intersection", "union", "#declare", "#macro".

A simple Wheel
The construction is explained by the opposite image:

//------------------------ object Wheel
#declare Wheel =
union{
 intersection{
  torus{ 0.35,0.15  rotate<90,0,0> }
  cylinder{ <0,0,-0.20>,<0,0,0.2>,0.47}

  texture{ pigment{ color rgb<1,1,1>*0.15}
           normal { bumps .5 scale .005}
           finish { diffuse .9 phong .2}
         } // end of texture
 }// end intersection
 sphere{ <0,0,0>,0.45
         scale<1,1,0.25>
         texture {
           Chrome_Metal
           normal{ bumps 0.5 scale 0.005}
           finish{ diffuse 0.9 phong 0.5}
         } // end of texture
 } // end of sphere ---------------------

translate<0,0.45,0>
} // end of union --------- end of Wheel
//---------------------------------------
object{ Wheel translate<0,0,0>}
//---------------------------------------

Chassis with
double tires and double axes:

#declare Half = 1.00;
// = half track width
#declare Axis_Distance = 3.50;
#declare Wheel_Angle = 30;

#declare Wheel_D= //------- double wheel
union{
object{ Wheel translate<0,0,-0.15>}
object{ Wheel translate<0,0, 0.15>}
} //--------------------------------------

#declare Double_Axes = //-----------------
union{
object{ Wheel_D translate<-0.6,0,-Half>}
object{ Wheel_D translate<-0.6,0, Half>}
object{ Wheel_D translate<+0.6,0,-Half>}
object{ Wheel_D translate< 0.6,0, Half>}
} //--------------------------------------

#macro Chassis (Front_Wheel___Angle)
//------------------------------ Chassis
union{
object{ Wheel
        rotate<0,Front_Wheel___Angle,0>
        translate< 0,0,-Half>}
object{ Wheel
        rotate<0,Front_Wheel___Angle,0>
        translate< 0.00,0, Half>}
object{ Double_Axes
        translate<-Axis_Distance,0,0>}
object{
 Round_Box(<-Axis_Distance-1,0,-0.5>,
           <0.25,0.50, 0.5>, 0.025, 0)
 texture{ pigment{ color rgb 0.2}
          finish { diffuse 0.9 phong 1}
        } // end of texture
 translate<0,0.4,0>
 } // end Round_Box
}  //--------------------- end of Chassis
#end // ---------------------------------

object{ Chassis( 30 )
        rotate<0,0,0>
        translate<0,0,0>}
Continued with part 2

 
top

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