box
Un cubo verde con un vertice nell’origine e spigolo=1.
Le facce devono essere parallele ma la figura può essere eventualmente ruotata con rotate.
1 2 3 4 5 6 |
box { <0, 0, 0>, // un vertice nell'origine <1, 1, 1> // il vertice opposto pigment { rgb<0, 1, 0> } // [modificatori...] } |
Un parallelepipedo con dimensioni 1, 2, 3.
1 2 3 4 5 6 |
box { <0, 0, 0>, // un vertice nell'origine <1, 2, 3> // il vertice opposto pigment { rgb<0, 1, 0> } // [modificatori...] } |
Un parallelepipedo centrato nell’origine.
1 2 3 4 5 6 |
box { <-0.5, -1.0, -1.5>, // un vertice ... <+0.5, +1.0, +1.5> // il vertice opposto pigment { rgb<0, 1, 0> } // [modificatori...] } |
cone
Un cono verde, altezza=2, raggio=1, in posizione verticale lungo l’asse y
1 2 3 4 5 6 |
cone { <0, 0, 0>, 1.0 // centro e raggio di una base <0, +2.0, 0>, 0.0 // ... dell'altra base pigment { rgb<0, 1, 0> } // [modificatori...] } |
Un cono centrato in posizione verticale
1 2 3 4 5 6 |
cone { <0, -1.0, 0>, 1.0 // centro e raggio di una base <0, +1.0, 0>, 0.0 // ... dell'altra base pigment { rgb<0, 1, 0> } // [modificatori...] } |
Se il secondo raggio è > 0 si ottiene un tronco di cono…
1 2 3 4 5 6 |
cone { <0, -1.0, 0>, 2.0 // centro e raggio di una base <0, +1.0, 0>, 1.0 // ... dell'altra base pigment { rgb<0, 1, 0> } // [modificatori...] } |
cylinder
Un cilindro verde, raggio=1, altezza=2, in posizione verticale lungo l’asse y
1 2 3 4 5 6 7 |
cylinder { <0, 0, 0>, // centro di una base <0, +2.0, 0>, // centro dell'altra base 1.0 // raggio unico pigment { rgb<0, 1, 0> } // [modificatori...] } |
Un cilindro centrato in posizione verticale
1 2 3 4 5 6 7 |
cylinder { <0, -1.0, 0>, // centro di una base <0, +1.0, 0>, // centro dell'altra base 1.0 // raggio unico pigment { rgb<0, 1, 0> } // [modificatori...] } |
Solo la superficie laterale del cilindro
1 2 3 4 5 6 7 8 |
cylinder { <0, -1.0, 0>, // centro di una base <0, +1.0, 0>, // centro dell'altra base 1.0 // raggio unico open // [aperto?] pigment { rgb<0, 1, 0> } // [modificatori...] } |
plane
Il piano è una superficie di dimensione infinita che divide lo spazio in due parti…
Il piano naturale per l’osservatore, il pavimento, ha tutti i punti con y=0 cioè è il piano xz.
Se la camera è orizzontale un piano centrale risulta invisibile… quindi o si sposta il piano in basso o la camera in alto.
1 2 3 4 5 6 |
plane { <0, 1, 0>, // il vettore normale al piano 0.0 // la distanza dall'origine pigment { rgb<0, 1, 0> } // [modificatori...] } |
I piani tradizionali possono essere indicati con la lettera x, y oppure z
1 2 3 4 5 6 |
plane { y, // piano y 0.0 pigment { rgb<0, 1, 0> } // [modificatori...] } |
Il piano può essere traslato rispetto all’asse
1 2 3 4 5 6 |
plane { y, // piano y -2.0 // spostato in basso pigment { rgb<0, 1, 0> } // [modificatori...] } |
sphere
Una sfera verde, raggio=1, nell’origine degli assi di riferimento
1 2 3 4 5 6 |
sphere { <0.0, 0.0, 0.0>, // posizione centrale 1.0 // raggio pigment { rgb<0, 1, 0> } // [modificatori...] } |
torus
Un toro (una ciambella col buco…) centrato sul piano xz.
Se consideriamo un toro come la rotazione di un cerchio intorno a un punto allora il primo raggio specifica la distanza tra il punto di rotazione e il centro del cerchio e il secondo raggio è il raggio del cerchio.
1 2 3 4 5 6 |
torus { 1.0, // raggio maggiore 0.5 // raggio minore pigment { rgb<0, 1, 0> } // [modificatori...] } |
Se il secondo raggio è uguale al primo si ottiene una ciambella senza buco.
1 2 3 4 5 6 |
torus { 1.0, // raggio maggiore 1.0 // raggio minore pigment { rgb<0, 1, 0> } // [modificatori...] } |
blob
height_field
julia_fractal
lathe
prism
sphere_sweep
superellipsoid
sor
text
…