Descrizioni ed esempi per il raytracer POV-Ray di Friedrich A. Lohmüller
Esempi POV-Ray - Come fare oggetti per POV-Ray
English English English
Français français
Deutsch Deutsch

Home
- POV-Ray Tutorial

  - Esempi per POV-Ray
   Indice generale
  - Geometria
  - Architettura
    - Casa
    - Tetto
    - Torre
    - Castello
    - Finestra e Porta
    - Scale
    - Piramide
    - Colonna
    - Arco
    - Recinti
    - Recinti
    - Mobili
  - Tecnica
                                       
 
columns

Colonna con Scanalatura

Oggetti: "cone"
Metodi: "#macro", "#local", "difference"
La costruzione nel dettaglio:
Di un tronco di cono lla finestra si togli una corona di altri tronci di cono per la scanalatura.

Un file include per usare questo oggetto come un oggetto pronto per l'uso si trova su la mia paggina Oggetti POV-Ray.
Il cuore della colonna - un tronco di cono:
//---------------- 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 ---------------------------------- 
Il tronco di cono di base !
Un elemento singolo della scanalatura:
//---------------- 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 ----------------
Un elemento della scanalatura:
La scanalatura arrangiato in un "while-loop":
//---------------- 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
//--------------------------------------------------- 
La scanalatura arrangiato in un "while-loop".
Il cuore della colonna meno la scanalatura:
//---------------- 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
//---------------------------------------------------- 
Il cuore della colonna meno la scanalatura.
Testura speciale per una colonna:
//----------------------------------------------------
#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 -----------------------
//---------------------------------------------------- 
l'immagine finale:
columns
Testura con righe orizzontale.
 
Cliccare qui per una descrizione completa della scèna come macro
per POV-Ray: ".txt" file o ".pov" file
 
Oggetti pronto per l'uso per POV-Ray
come Archivi include con archivi esempio
si trova su la Paggina POV-Ray Objects.
top

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