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
    - 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
                                               
 
Wireframe Cube

Cubo wireframe

La costruzione di un cubo formato di tubi e sfere.
Esempio per uso dei comandi di base in POV-Ray.
Oggetti: "sphere", "cylinder".
Metodi:  "#declare", "union{...}", "object{...}"

Nota: Questo é solo esercizio nel uso di coordinate 3D e di methodi.
Si può ottenere lo stesso resultato usando #include "shapes.inc"
e la macro "object{ Wire_Box(<-1,-1,-1>,<1,1,1>, 0.20, 0)} .


La costruzione nel dettaglio:

I tubi sono arrangiati im modo simmetrico intorno al centro. Gli angoli sono formati con sfere di un raggio come il raggio dei cilindri. Cambiare i raggi é più facile se si definisce il raggio con il comando "#declare". Il cubo completo é definito come un oggetto nuove chiamato: "BigCube1" - per facilitare l'uso molteplice con il comando:

object{ BigCube1
        rotate<...>
        translate<...>}
- come si può vedere nel esempio qui in baso.
veduta anteriore, veduta f laterale e vista dall'alto.

//====== Cubo formato di tubi =====
#declare R = 0.20; //raggio di tubi
#declare BigCube1 =
union{
// 8 Corners
sphere{<-1,-1,-1>,R}
sphere{< 1,-1,-1>,R}
sphere{<-1,-1, 1>,R}
sphere{< 1,-1, 1>,R}
sphere{<-1, 1,-1>,R}
sphere{< 1, 1,-1>,R}
sphere{<-1, 1, 1>,R}
sphere{< 1, 1, 1>,R}
// 4 in x direction
cylinder {<-1,-1,-1>,< 1,-1,-1>,R}
cylinder {<-1,-1, 1>,< 1,-1, 1>,R}
cylinder {<-1, 1,-1>,< 1, 1,-1>,R}
cylinder {<-1, 1, 1>,< 1, 1, 1>,R}
// 4 in y direction
cylinder {<-1,-1,-1>,<-1, 1,-1>,R}
cylinder {<-1,-1, 1>,<-1, 1, 1>,R}
cylinder {< 1,-1,-1>,< 1, 1,-1>,R}
cylinder {< 1,-1, 1>,< 1, 1, 1>,R}
// 4 in z direction
cylinder {<-1,-1,-1>,<-1,-1, 1>,R}
cylinder {<-1, 1,-1>,<-1, 1, 1>,R}
cylinder {< 1,-1,-1>,< 1,-1, 1>,R}
cylinder {< 1, 1,-1>,< 1, 1, 1>,R}
texture{pigment{color rgb<1,0.8,0>}
        finish{ diffuse 0.9 phong 1}}
}//-- End of wireframed cube -------

//------------- Draw it  -----------
object{BigCube1 scale 0.7
       rotate<0,60,0>
       translate<0,1.2,0>}
//------------------------------ end

    Otteniamo l'immagine seguente:
Wireframe Cube 600x450
La descrizione della scena per POV-Ray:
"povcube0.txt" o "povcube0.pov"

Variazioni di questo tema:

Si può cambiare la riga nella descrizione marcata con //<---1
come segue:

camera {Cam1}
e le rige cominciando con la marca //<---2
cosi:
        color_map{[0    color Blue]
                  [0.45 color White]
                  [0.55 color White]
                  [1.0  color Blue]}
       scale 2 translate<0,-1,0>}
e la riga con la marca //<---3
nel modo seguente:
#declare R = 0.25 //raggio di tubi
e anche le rige della marca //<---4
come segue:
texture{
    Polished_Chrome
    pigment{quick_color rgb<1,0.8,0>}
    finish {diffuse 0.9 phong 1}}
}//-- end of wireframe cube ---------
//----------- drawing  --------------
union{
 object{ BigCube1 scale 0.7
         translate< 0.0, 0.0, 0.0>}
 object{ BigCube1 scale 0.4
         translate< 0.7, 0.7,-0.7>}
 rotate<-45,65,0>
 rotate<10,0,0>
 translate<0.3,0.8,0>}
--------------------------------- end 
    Cosi otteniamo l'immagine sequente:
 
Wireframe Cube 600x450
 
top

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