Home
- POV-Ray Tutorial
- Esempi per POV-Ray
Indice generale
- Geometria
- Pedone
- Cubo wireframe
- Ottagono
- Forma ovoidale
- Stella
- Lente ottica
- Scacchiera
- Forma Pallone
- Forma Erlenmeyer
- Due Cilindri Fondati
- Tetraedro Regolare
- Triangolo di Penrose
- Yin & Yang
- Partizione Pisciforme
- Rosetta Trilobato
- Partizione Trilobata
- Architettura
- Tecnica
|
|
Stella
La costruzione di una forma semplice di una stella.
Esempio per l'uso di "intersection" e / o "difference".
Oggetti: "box", "sphere".
Metodi: "#declare", "union{...}", "intersection", "difference".
Cliccare qui per un esempio!
|
La costruzione passo a passo:
|
Cominciamo con un "box".
Per ottenere una lungezza dei raggi definita bene cambiamo la scala di "box" alla radice quadrata di 2.
(Cosi i diagonali di suo superficie hanno una lungezza di 2 unità!)
|
box { <-1,-1,-1>,< 1,1,1>
scale <1,1,1>*sqrt(2)
}
|
Poi ruotamo il "box" intorno all'asse z con 45 gradi.
|
box { <-1,-1,-1>,< 1,1,1>
scale <1,1,1>*sqrt(2)
rotate<0,0,45>
}
|
Adesso chambiamo la scala di "box" in direzione y e
dopo questo ruotamo il "box" intorno all'asse x con 45 gradi.
Usiamo il commando "#declare" per la conversione di questa forma
in un oggetto nuovo chiamato "Ray_Profile".
|
#declare Ray_Profile =
box { <-1,-1,-1>,< 1,1,1>
scale <1,1,1>*sqrt(2)
rotate<0,0,45>
scale <1,0.36,1>
rotate<45,0,0>
} |
Adesso riflettiamo questo oggetto nuovo al piano xy in
direzione z con "scale<1,1,-1>".
Poi facciamo una "intersection" dell'oggetto originale e l'oggetto riflettato..
|
intersection{
object{ Ray_Profile }
object{ Ray_Profile scale<1,1,-1>}
} |
Per essere in grado di produrre anche stelle con un numero di raggi dispari,
dobbiamo sottrarre ( = intersection con la forma inverse) un "box"
per disfarsi della parte sinistra di questa forma.
Con questa forma facciamo un oggetto nuovo chiamato "'Ray"..
|
#declare Ray =
intersection{
object{ Ray_Profile }
object{ Ray_Profile scale<1,1,-1>}
box{<-2,-1,-1>,<0,1,1> inverse}
} |
Infine i raggi della stella sono arrangiato con un ciclo while
intorno al'asse y.
Per l'immagine a destra i raggi sono fatto più sottile con " scale<1,0,5,0.5> ".
La stella risultando é un oggetto con un raggio di 2 unità.
|
union{
#local Nr = 0; // start
#local EndNr = 5; // end
#while (Nr < EndNr)
object{Ray rotate<0,Nr*360/EndNr,0>}
#local Nr = Nr + 1;// next Nr
#end // ------------- end of loop
rotate<0,0,0>
translate<0,0,0>
} // end of union |
|