// Persistence of Vision Ray Tracer Scene Description File
// File: tetraedro.pov
// Scritto da Filippo Favale
// Commentato da Riccardo Moschetti
// Marzo 2009
// Un altro modo per costruire la stella octangula partendo da un tetraedro
// website: www.xlatangente.it
//
// Costruzione della stella octangula
//
// camera, sfondo e luci
//
camera {
location <1,1,4>
look_at 0
angle 65
}
default {
finish {ambient 0.1}
}
light_source { <20,60,20> color 1 }
light_source { <-20,60,20> color 1 shadowless }
plane {y,-5 pigment { rgb <1,1,1> }}
//dichiariamo i valori che ci servono e le coordinate dei punti
#declare a = 1;
#declare h = a*sqrt(2)/2;
#declare tetra1 = ;
#declare tetra2 = <-a,0,-h>;
#declare tetra3 = <0,a,h>;
#declare tetra4 = <0,-a,h>;
//Ecco le coordinate dei punti che mancano per costruire la stella
#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>;
#declare raggiopunti=0.02;
#declare raggiolinee=0.008;
//I colori che compariranno nel disegno
#declare vertici_spec = material{texture { pigment{ color rgb < 0, 0, 0> } } }
#declare spigoli_spec = material{texture { pigment{ color rgb < 1, 0, 0> } } }
#declare facce_spec = material{ texture {pigment{ color rgbt< 0, 0.8, 1, 0.3> } } }
//Vertici del tetraedro
#declare vertici_tetra=union{
sphere{tetra1,raggiopunti}
sphere{tetra2,raggiopunti}
sphere{tetra3,raggiopunti}
sphere{tetra4,raggiopunti}
material{vertici_spec}
}
//Spigoli del tetraedro
#declare spigoli_tetra=union{
cylinder { tetra1, tetra2,2*raggiolinee }
cylinder { tetra1, tetra3,2*raggiolinee }
cylinder { tetra1, tetra4,2*raggiolinee }
cylinder { tetra2, tetra3,2*raggiolinee }
cylinder { tetra2, tetra4,2*raggiolinee }
cylinder { tetra3, tetra4,2*raggiolinee }
material {spigoli_spec}
}
//Facce del tetraedro
#declare facce_tetra=union{
triangle{ tetra1,tetra2,tetra3 }
triangle{ tetra1,tetra2,tetra4 }
triangle{ tetra1,tetra3,tetra4 }
triangle{ tetra2,tetra3,tetra4 }
material {facce_spec}
}
//Tetraedro
#declare tetraedro=union{
object{vertici_tetra}
object{spigoli_tetra}
object{facce_tetra}
}
//Spigoli che mancano
#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}
}
#declare stella_octangula=union{
object{tetraedro}
object{tetraedro scale <-1,-1,-1>}
}
//Disegno tutto
object{stella_octangula}
object{spigoli_extra}