Descriptions et exemples pour le POV-Ray raytracer par Friedrich A. Lohmueller
      Objets POV-Ray - Comment faire des objets pour POV-Ray
English English English
Italiano  Italiano
Deutsch 

Page d'Accueil
- POV-Ray Tutorial

  - Exemples POV-Ray
   Table des matières
  - Géométrie
  - Architecture
    - Maison
    - Toit
    - Tour
    - Châteaux
    - Fenêtre + Porte
    - Escaliers
    - Pyramide
    - Colonne
    - Arc, Arche
    - Clôtures
    - Meubles
  - Technique
                                       
 
columns

Colonne avec Cannelures

Objets :   "cone"
Méthodes : "#macro", "#local", "difference"
La Constuction en détail :
De un cône tronqué on soustrait une couronne des autres cônes tronqués plus petites (du nomber de cannelures).
Un ficher include pour utiliser cet objet comme un objet prêt à l'usage vous pouvez trouver sur mon site Objets POV-Ray.
Le noyau du colonne :
//---------------- texture -----------------
#declare Column_Kernel_Texture =
         texture { T_Grnt16
                   normal { agate 0.35 scale 0.05}
                   finish { phong 0.2 }
                   scale 1
                 } // end of texture
//------------------------ dimensions --------------
#declare C_Height___ = 2.00; // column kernel height
#declare C_Base_Radius___ = 0.30; //
#declare C_Top_Radius___  = 0.30; //
//------------------------------------------------------
cone { <0,0,0>, C_Base_Radius___,
       <0,C_Height___,0>, C_Top_Radius___
     } // end of cone ---------------------------------- 
Le cône tronqué de base !
Une cannelure isolée pour soustraire :
//---------------- the rips dimensions -------------- 
#local Column_Subdivision___ = 16 // number of rips
//---------------------------------------------------
#local R_Top_R___ = // rip top radius
2*pi*C_Top_Radius___ /Column_Subdivision___*1/sqrt(2);
#local R_Base_R___= //rip base radius
2*pi*C_Base_Radius___/Column_Subdivision___*1/sqrt(2);
#local R_Top_D___ = // rip top distance
C_Top_Radius___ +Rip_Top_R___ *1/sqrt(2);
#local R_Base_D___= // rip base distance
C_Base_Radius___ +Rip_Base_R___*1/sqrt(2);
#local R_over = +Rip_Base_R___*0.1;
//----------------------- single rip ----------------
cone { <R_Base_D___,-R_over,       0>, R_Base_R___,
       <R_Top_D___ ,C_Height___+R_over,0>, R_Top_R___
         texture { pigment{ color rgb< 1, 1, 1>*1.2 }
                 } // end of texture
     } // end of cone for rips ----------------
Une cannelure isolée :
Les cannelures arrangeés par un boucle "while" :
//---------------- a ring of rips -------------------
 #local Nr = 0;     // start
 #local EndNr = Column_Subdivision___; // end
 #while (Nr< 1) // EndNr)
 cone{ <R_Base_D___,-R_over,           0>,R_Base_R___,
       <R_Top_D___ ,C_Height___+R_over,0>,R_Top_R___
       rotate<0,Nr * 360/EndNr,0>
       texture { pigment{ color rgb< 1, 1, 1>*1.2 }
               } // end of texture just for testing
     } // end of cone -------------------------------
 #local Nr = Nr + 1;    // next Nr
 #end // ---------------  end of loop
//--------------------------------------------------- 
Les cannelures arrangeés par un boucle "while".
Le noyau du colonne moins les cannelures:
//---------------- column kernel - rips --------------
difference{ //
cone { <0,0,0>, C_Base_Radius___,
       <0,C_Height___,0>, C_Top_Radius___
     } // end of cone -------------------------------
// subtractin the rips:
 #local Nr = 0;     // start
 #local EndNr = Column_Subdivision___; // end
 #while (Nr< 1) // EndNr)
 cone{ <R_Base_D___,-R_over,           0>,R_Base_R___,
       <R_Top_D___ ,C_Height___+R_over,0>,R_Top_R___
       rotate<0,Nr * 360/EndNr,0>
     } // end of cone --------------------------------
 #local Nr = Nr + 1;    // next Nr
 #end // ---------------  end of loop
 texture { pigment{ color rgb< 1, 1, 1>*1.2 }
         } // end of texture just for testing
} // end of difference
//---------------------------------------------------- 
Le noyau du colonne moins les cannelures.
A special texture for columns:
//----------------------------------------------------
#declare Stone_Texture = // Column kernel stone texture
         texture { T_Grnt16
                   normal { agate 0.35 scale 0.05}
                   finish { phong 0.2 }
                   scale 1
                 } // end of texture
//  ..........-............. with vertical subdivisions
#declare Column_Kernel_Texture =
 texture { gradient<0,1,0>
           scale <1,0.67,1> turbulence 0.01
           texture_map{
            [0.00 Stone_Texture ]
            [0.001 pigment{ color rgb<1,1,1>*.1}]
            [0.005 pigment{ color rgb<1,1,1>*.1}]
            [0.006 Stone_Texture ]
            [1.00 Stone_Texture ]
            } // end of texture_map
          } //  end of texture -----------------------
//---------------------------------------------------- 
Ici l'image finale:
columns
Texture avec rayures horizontals.
 
Cliquez ici pour un description complète de la scène come un macro
pour POV-Ray: fichier ".txt" file ou fichier".pov" file
Objets prêt à l'usage pour POV-Ray comme
fichiers include avec fichiers exemple
on peut trouver sur la POV-Ray Objects page.
top

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