Icosaedro
Icosaedro en equilibrio sobre un vértice
// Icosaedro en equilibrio sobre un vértice. module icosaedro_en_equilibrio_sobre_un_vertice(aresta=1){ // Aresta a=aresta; // Cálculo da altura da figura (tramos inferior e superior máis tramo intermedio). // Tramos superior e inferior (coincidentes coa magnitude da proxección horizontal das arestas perimetrais na planta da figura). h1=(a/2)/cos(18); //Tramo intermedio (coincidente coa magnitude da proxección horizontal das arestas radiais na planta da figura). h2=(a/2)/sin(36); // Altura total. h=2*h1+h2; // Cotas c1=(-1/2)*h; // Construción da figura polyhedron( points=[ [0,0,c1], //0 [-h2,0,c3], //6 [0,0,c4] //11 ], triangles=[ [0,1,2], [0,2,3], [0,3,4], [0,4,5], [0,5,1], [1,8,9], [2,9,10], [3,10,6], [4,6,7], [5,7,8], [6,4,3], [7,5,4], [8,1,5], [9,2,1], [10,3,2], [11,6,10], [11, 10,9], [11, 9,8], [11,8,7], [11,7,6] ] ); } // Usamos o módulo icosaedro_en_equilibrio_sobre_un_vertice(); |
Icosaedro (con posibilidade de elexir a posición)
Este módulo refírese ao módulo anterior, polo que é preciso incluílo no arquivo.
Reseñamos aquí a parte do código específica para realizar a elección.
//Icosaedro module icosaedro(aresta=1, posicion="en equilibrio sobre un vertice"){ if(posicion=="en equilibrio sobre un vertice"){ else{ if(posicion=="sobre unha cara"){ } } // Usamos o módulo icosaedro(); |