// 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}