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
    - Mobili
    - Faccende di Casa
  - Tecnica
                                       
 
Tower_Squared

Torre merlato

Con quest'esempio voglio spiegare la costruzione di una torre merlato per un castello.
La torre è fatto di una forma grezza per sottrarre (con "difference{...}) gli spazi tra i merli. Per mantenere le cose più flessibile per modificazioni nel design, tutte le testure e dimensioni sono dichiarate come variabili a la testa del testo della scena.
Per ottenere resultati puliti con la "difference" le forme da sottrarre non possono avere di superfici ambiguo ai bordi del'oggetto di base - bisogna evitare superfici coincidenti. Per questa ragione si può utilisare la variabile "D = 0.0001" - solo un poco! Con questa e molto facile dire "+D" = "solo un poco più" o "-D" = "solo un poco meno"! Per riconoscere chiaro i parti della "difference" si può scegliere una testura seconda con il colore verde. Più tardo possiamo chambiare questa testura cambiando le barre di commento "//".
Un file include per usare questo oggetto come un oggetto pronto per l'uso si trova su la mia paggina Oggetti POV-Ray.
La Costuzione Passo a Passo :
Primo di tutto dobbiamo definire le testure e le dimensioni:
#declare Tower_Texture_1 = // pietra arenaria
 texture{ pigment{ color rgb<0.9,0.78,0.6>}
          normal { bumps 0.5 scale 0.015 }
          finish { diffuse 0.9 phong 0.1}
        } // end of texture
#declare Tower_Texture_2 =//pietra arenaria - più scuro
 texture{ pigment{
     // color rgb<0.9, 0.78, 0.6>*0.95}
        color rgb<0.4,1,0.0>} // test_color
          normal { bumps 0.5 scale 0.015 }
          finish { diffuse 0.9 phong 0.1}
        } // end of texture
//-----------------------------------------
#declare D = 0.0001; // solo un poco
#declare Tower_R = 2.00;// mezzo larghezza x, z
#declare Tower_H = 8.00;// altezza di torre in y
// marca 1
//-----------------------------------------
Poi bisogno prendere una torre in forma grezza:
// forma grezza di torre
box{ <-Tower_R,       0,-Tower_R>,
     < Tower_R, Tower_H, Tower_R>
     texture{ Tower_Texture_1 }
   } // end of box
//-----------------------------------------
Tower_Squared_01
La torre in forma grezza.
Definizione de le dimensioni degli spazi tra i merli. Comminciamo a la punta di torre.
#declare Merlon_H = 0.80;// altezza dei merli
#declare Merlon_R = 0.20; // mezzo larghezza x, z
//-----------------------------------------
#declare Merlon_Cut_Off =
box { <-Merlon_R,-Merlon_H,-Tower_R-D>,
      < Merlon_R,        D, Tower_R+D>
      texture { Tower_Texture_2 }
    } // end of box
//-----------------------------------------
Per sottrarre questo oggetto della forma grezza della torre dobbiamo inserire questo oggetto davanti a nostra "// forma grezza di torre" preso di " marca 1".
Tower_Squared_02
Merlo negativo
Per controllare la posizione e la dimensioni aggiungiamo doppo nostra forma grezza della torre:
object{ Merlon_Cut_Off
        translate<0,Tower_H,0> }
... tutto in ordine? Buono, proviamo questa cosa qui ...
union{ //  union di merli negativi
  object{ Merlon_Cut_Off
          translate<-2*Tower_R/4,0,0>}
  object{ Merlon_Cut_Off
          translate< 0*Tower_R/4,0,0>}
  object{ Merlon_Cut_Off
          translate< 2*Tower_R/4,0,0>}
  object{ Merlon_Cut_Off
          translate<-2*Tower_R/4,0,0>
                       rotate<0,90,0>}
  object{ Merlon_Cut_Off
          translate< 0*Tower_R/4,0,0>
                       rotate<0,90,0>}
  object{ Merlon_Cut_Off
          translate< 2*Tower_R/4,0,0>
                       rotate<0,90,0>}
  translate<0,Tower_H,0>
} // end of union of the merlon cut offs
Tower_Squared_03
6 merli negativi.
Quando mettiamo questi spazi tra i merli una differenza con la forma grezza della torre, come segue:
#declare .... // textures
#declare ... // dimensions
#declare Merlon_Cut_Off = ....
// tutte le cose da dichiarare
// poi:
difference{
 // tower base shape:
 box{...
    } // end of box
 // cose da sottrarre:
 union{ //  union degli spazi tra i merli
  object{ ...
        }
  ....
  object{ ...
        }
  translate<0,Tower_H,0>
 }// end of union of the merlon cut offs
}// end of difference 
...dobbiamo ottenere l'imagine che si può vedere qui sulla destra:
 
 
Tower_Squared_04
Sottratto!
Adesso dobbiamo scavare l'interno della balaustrata in alto:
// --------------------------
#local Balu_H = 1.50; // altezza
#local W_D = 0.30; // largezza del muro

box { <-Tower_R+W_D,-Balu_H,-Tower_R+W_D>,
      < Tower_R-W_D,      D, Tower_R-W_D>
      texture { Tower_Texture_2 }
      translate<0,Tower_H,0>
    } // end of box
Tower_Squared_05
Scavare la balaustrata.
Quando mettiamo anche questa forma nelle graffe della differenza con la forma grezza di nostra torre dobbiamo vedere la forma qui sulla destra:
Tower_Squared_06
Centro scavato.
Come Fare una Testura Realistica d'un Muro
Con una testura semplice come questa
#declare Tower_Texture_1 = // sandstone - grès
 texture{ pigment{ color rgb<0.9,0.78,0.6>}
          normal { bumps 0.5 scale 0.015 }
          finish { diffuse 0.9 phong 0.1}
        } // end of texture 
non possiamo vedere le commessure dei blocci di pietra di muro!
Tower_Squared_07
Pietra arenaria
senza commessure.
Per una simulazione di un muro di pietre con commessure possono prendere il motivo di POV-Ray bricks pattern:
#declare Tower_Texture_1=// pietra arenaria
texture{
  pigment{ color rgb<0.9,0.78,0.6>}
  normal {
    pigment_pattern{ brick
                     color rgb 0.2,
                     color rgb 0.8
                     scale 0.135
                     translate<0,0,0>
                     rotate<0,0,0>
                    } // end pattern
             0.35 // normal intensity
          } // end of normal
   finish { diffuse 0.9 phong 0.1}
 } // end of texture
Tower_Squared_08
Pietra arenaria
con le commessure.
Problemi con il motivo "bricks" (bricks pattern).
Con il motivo "bricks" otteniamo spessissimo imagini come questo qui sulla destra.
Il ragione per ottenere linee oscure e chiare di questa maniera é che abbiamo una coincidenza con la zona di malta nel motivo "bricks" con i bordi di nostro muro. Per evitare questo ma anche per creare muri con pietre più grande o più piccole dobbiamo utilizzare di transformazioni adeguate come "scale", "translate" e/o "rotate" per il "pigment_pattern".
Tower_Squared_09
typico
errore con "brick"
L'adattamento dei livelli delle commessure alle dimensioni degli spazi tra i merli e un lavoro molto difficile - e molto raramente finito perfettamente. Però, il resultato di questa simulazione semplice e molto notevole, specialemente in comparazione con il piccolo dispendio.
Tower_Squared_10
Cliccare qui per un esempio più grande.
 
 
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