Da un tetraedro: seconda parte

 
La stella octangula: quante possibilità!

 

QUARTA PUNTATA

Riassunto delle puntate precedenti: nella prima puntata abbiamo iniziato a costruire la nostra stella a partire da un ottaedro e, nella seconda puntata, siamo giunti a completare una prima volta la realizzazione della stella; nella terza puntata invece abbiamo iniziato a costruire la nostra stella a partire da un tetraedo. Proseguiamo.

Secondo passo: la stella octangula

Consideriamo la rotazione di 90 gradi attorno alla retta rappresentata in figura assieme alla stella octangula. Questa rotazione ha la proprietà di mandare la stella octangula in sé. Vorremmo sfruttare questo fatto per costruire la stella octangula a partire dal tetraedro T che abbiamo costruito. Infatti riusciamo a costruire la stella unendo T e il tetraedro T’ che otteniamo da T utilizzando questa rotazione. Per costruzione la retta è l’asse z del sistema di riferimento che abbiamo fissato.

Per disegnare un oggetto ruotato attorno a una retta che sia parallela a uno degli assi con PovRay basta utilizzare rotate. I parametri rx, ry e rz specificano di quanti gradi vogliamo ruotare la figura attorno agli assi.

object{ figura rotate rotate <0,ry,0>  rotate <0,0,rz>}


Attenzione al fatto che le rotazioni sono fatte in ordine: non è indifferente l’ordine con cui facciamo le rotazioni!!

Per disegnare la stella octangula definiamo l’oggetto stella_octangula come l’unione dell’oggetto tetraedro e dell’oggetto tetraedro ruotato attorno all’asse z di 90 gradi.

#declare stella_octangula=union{
object{tetraedro}
object{tetraedro rotate <0,0,90>}
}


Completiamo il tutto aggiungendo anche gli spigoli della stella octangula che vengono a crearsi intersecando i due tetraedri. Per farlo basta notare che essi sono i 12 segmenti che si ottengono unendo in modo opportuno i punti medi degli spigoli (sono anche gli spigoli di un ottaedro). Chiamiamo tetram12 il punto medio dello spigolo di estremi tetra1 e tetra2. In modo analogo definiamo gli altri 5 punti medi.

#declare tetram12 = <0,0,-h>;
#declare tetram34 = <0,0,h>;
#declare tetram13 = ;
#declare tetram14 =
;
#declare tetram23 = <-a/2,a/2,0>;
#declare tetram24 = <-a/2,-a/2,0>;

Definiamo l’oggetto stella_octangula_extra aggiungendo l’oggetto spigoli_extra a stella_octangula e disegnamolo con object.

#declare spigoli_extra=union{

cylinder { tetram12, tetram13, 2*raggiolinee }
cylinder { tetram12, tetram14, 2*raggiolinee }
cylinder { tetram13, tetram14, 2*raggiolinee }

cylinder { tetram12, tetram23, 2*raggiolinee }
cylinder { tetram12, tetram24, 2*raggiolinee }
cylinder { tetram23, tetram24, 2*raggiolinee }

cylinder { tetram13, tetram23, 2*raggiolinee }
cylinder { tetram13, tetram34, 2*raggiolinee }
cylinder { tetram23, tetram34, 2*raggiolinee }

cylinder { tetram14, tetram24, 2*raggiolinee }
cylinder { tetram14, tetram34, 2*raggiolinee }
cylinder { tetram24, tetram34, 2*raggiolinee }

material {spigoli_spec}
}


Ecco il risultato finale!!

sorgente