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
  - Tecnica
    - Scala a Pioli
    - Piloni e Tralicci
    - Parapetto
    - Ponte
    - Tubi e Tubature
    - Bifucazione di Tubi
    - Rubinetto di Arresto
    - Catena
    - Bobina di filo
    - Torpedo
    - Cruise Missile
    - Razzo, Missile
    - Ruota
    - Camion
    - Elica
    - Aeroplano
    - Canoa
    - Chitarra
    - Display a 7 Segmenti
    - Cavo piatto
    - Fascio di cavi
                                       
 
Pylon

Piloni e Tralicci

Oggetti: box, cylinder, sphere.
Metodi:  #declare, #local, union, #macro, #while.

La costruzione di questo pilone:
 
Un segmento di questo pilone si é fatto con un telaio orizzontale di tubi ("cylinder") con sfere negli angoli e anch con qualché tubo verticale e diagonale. Questo segment singolo non a nessuni tubi alla parte superiore, dove segue il prossimo segmento.

//--------------------- dimensioni -------
#declare R1 = 0.050; // main radius
#declare R2 = 0.025; // diagonals radius
#declare W = 1.00-R1;// half width(outline!)
#declare H = 2.00;   // height
//--------------------- horizontal frame
#macro Square_Q(R1_, W_ )
union{
 cylinder{<-W_,0,0>,<W_,0,0>,R1_
                    translate<0,0,-W_>}
 sphere  {<0,0,0>,R1_
                    translate<W,0,-W_>}
} #end //-----------------

#macro Square (R10, W0)
union{
 object{ Square_Q(R10, W0) rotate<0,0*90,0>}
 object{ Square_Q(R10, W0) rotate<0,1*90,0>}
 object{ Square_Q(R10, W0) rotate<0,2*90,0>}
 object{ Square_Q(R10, W0) rotate<0,3*90,0>}
     } #end  //---------------------------
//-------------------- vertical elements:
#macro V_Element (R10, R20, W0, H0)
union{
 cylinder {<0,0,0>,<0,H0,0>,R10
                   translate<-W0,0,-W0>}
 // diagonal:
 cylinder{<-W0,0,0>,<W0,H0,0>,R20
                 translate<0,0,-W0+R20>}
 cylinder{<W0,0,0>,<-W0,H0,0>,R20
                 translate<0,0,-W0-R20>}
   } #end //-----------------------------

#macro Element_4 (R11, R21, W1, H1)
union{
object{ Square (R11, W1) }
 //vertical:
object{V_Element(R11,R21,W1,H1)
                 rotate<0,0*90,0>}
object{V_Element(R11,R21,W1,H1)
                 rotate<0,1*90,0>}
object{V_Element(R11,R21,W1,H1)
                 rotate<0,2*90,0>}
object{V_Element(R11,R21,W1,H1)
                 rotate<0,3*90,0>}
translate<0,R1,0>} #end  //--------------- 
Gittermast  Rahmen
 
 
Gittermast vertikal
 
 
Gittermast Element

Questo segmento di traliccio si può usare più flessibile se si é definito come una "macro". In questa macro tutte le dimensioni da scegliere liberamente. Un esempio si trova nella descrizione della scena seguente. Le parti cambiate sono in grassetto nella testa seguente.
Questo pilone si é costrutto con segmenti identichi per mezzo di un while loop:

//-------------------- testure ----------
#declare Texture1 =
 texture{
   pigment{ color rgb<1,1,1>}
   finish { diffuse 0.9 phong 1}}
#declare Texture2 =
 texture{
   pigment{ color rgb<1,1,1>*0.7}
   finish { diffuse 0.9 phong 1}}
//---------------------------------------
// Base:
box{ <-1,0,-1>,< 1,0.05,1>
      scale <W+0.1,1,W+0.1>
      texture{Texture2}}
//-------- Construction with while loop
// tower:
#declare Nr = 0;    // start
#declare EndNr = 8; // end

union{
#while (Nr < EndNr)
   object{ Element_4(R1, R2, W, H)
           texture{Texture1}
           translate<0,Nr*H,0>}
 #declare Nr = Nr + 1;  // next Nr
#end // --------------- end of loop
object{ Square (R1, W) texture{Texture1}
        translate<0,Nr*H+R1,0>}
translate<0,0.05,0> }
//----------------------------------- end 
Pylon  640x480

La descrizione della scena
per POV-Ray:
g_mastm1.pov o
g_mastm1.txt

 
Oggetti pronto per l'uso per POV-Ray
in un include file con macro e per file esempi si trovano qui:
Pagina Oggetti POV-Ray
top

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