Trabalho 1 – Clausius Reis (66812)

IA841 – Introdução à modelagem de sólidos

 

Foram criadas cinco figuras geométricas, os sólidos platônicos.

            Para a construção destes sólidos, utilizei um tutorial encontrado na internet onde os seguintes números eram calculados:

 

phi = (1 + sqrt(5)) / 2

A = 1/sqrt(3)

B = 1 / phi

C = 1 / (phi * phi)

X = 0.525731112119133606f

Z = 0.850650808352039932f

 

            Com estes valores em mãos, foram criadas matrizes para armazenar os pontos de cada poliedro:

           

// Tetraedro

int num_face_tetra = 3;

vertice faces_tetra[4][3] = {

   {{ A, A, A},{-A,-A, A},{ A,-A,-A}},

   {{-A, A,-A},{ A, A, A},{ A,-A,-A}},

   {{-A,-A, A},{ A, A, A},{-A, A,-A}},

   {{ A,-A,-A},{-A,-A, A},{-A, A,-A}}

};

 

// Hexaedro

int num_face_hexa = 5;

vertice faces_hexa[6][4] = {

   {{A,A,A},{A,A,-A},{-A,A,-A},{-A,A,A}},       

   {{-A,A,A},{-A,A,-A},{-A,-A,-A},{-A,-A,A}},

   {{-A,-A,A},{-A,-A,-A},{A,-A,-A},{A,-A,A}},

   {{A,-A,A},{A,-A,-A},{A,A,-A},{A,A,A}},   

   {{A,A,-A},{A,-A,-A},{-A,-A,-A},{-A,A,-A}},

   {{A,A,A},{-A,A,A},{-A,-A,A},{A,-A,A}}

};

 

// Octaedro

int num_face_octa = 7;

vertice faces_octa[8][3] = {

   {{1,0,0},{0,1,0},{0,0,1}},  

   {{0,1,0},{-1,0,0},{0,0,1}}, 

   {{-1,0,0},{0,-1,0},{0,0,1}},

   {{0,-1,0},{1,0,0},{0,0,1}}, 

   {{0,1,0},{1,0,0},{0,0,-1}}, 

   {{-1,0,0},{0,1,0},{0,0,-1}},

   {{0,-1,0},{-1,0,0},{0,0,-1}},

   {{1,0,0},{0,-1,0},{0,0,-1}}

};

 

// Dodecaedro

int num_face_dode = 11;

vertice faces_dode[12][5] =  {

   {{ C, 0, 1},{-C, 0, 1},{-B, B, B},{ 0, 1, C},{ B, B, B}},

   {{-C, 0, 1},{ C, 0, 1},{ B,-B, B},{ 0,-1, C},{-B,-B, B}},

   {{ C, 0,-1},{-C, 0,-1},{-B,-B,-B},{ 0,-1,-C},{ B,-B,-B}},

   {{-C, 0,-1},{ C, 0,-1},{ B, B,-B},{ 0, 1,-C},{-B, B,-B}},

   {{ 0, 1,-C},{ 0, 1, C},{ B, B, B},{ 1, C, 0},{ B, B,-B}},

   {{ 0, 1, C},{ 0, 1,-C},{-B, B,-B},{-1, C, 0},{-B, B, B}},

   {{ 0,-1,-C},{ 0,-1, C},{-B,-B, B},{-1,-C, 0},{-B,-B,-B}},

   {{ 0,-1, C},{ 0,-1,-C},{ B,-B,-B},{ 1,-C, 0},{ B,-B, B}},

   {{ 1, C, 0},{ 1,-C, 0},{ B,-B, B},{ C, 0, 1},{ B, B, B}},

   {{ 1,-C, 0},{ 1, C, 0},{ B, B,-B},{ C, 0,-1},{ B,-B,-B}},

   {{- 1, C, 0},{-1,-C, 0},{-B,-B,-B},{-C, 0,-1},{-B, B,-B}},

   {{-1,-C, 0},{-1, C, 0},{-B, B, B},{-C, 0, 1},{-B,-B, B}}

};

 

// Icosaedro

int num_face_ico = 19;

vertice faces_ico[20][3] = {

   {{ 0, Z, X},{-X, 0, Z},{ X, 0, Z}},      

   {{-Z, X, 0},{-X, 0, Z},{ 0, Z, X}},  

   {{ 0, Z,-X},{-Z, X, 0},{ 0, Z, X}},  

   {{ 0, Z,-X},{ 0, Z, X},{ Z, X, 0}},        

   {{ Z, X, 0},{ 0, Z, X},{ X, 0, Z}},        

   {{ Z,-X, 0},{ Z, X, 0},{ X, 0, Z}},        

   {{ X, 0,-Z},{ Z, X, 0},{ Z,-X, 0}},  

   {{ X, 0,-Z},{ 0, Z,-X},{ Z, X, 0}},  

   {{-X, 0,-Z},{ 0, Z,-X},{ X, 0,-Z}}, 

   {{ 0,-Z,-X},{-X, 0,-Z},{ X, 0,-Z}},

   {{ Z,-X, 0},{ 0,-Z,-X},{ X, 0,-Z}}, 

   {{ 0,-Z, X},{ 0,-Z,-X},{ Z,-X, 0}}, 

   {{-Z,-X, 0},{ 0,-Z,-X},{ 0,-Z, X}},

   {{-X, 0, Z},{-Z,-X, 0},{ 0,-Z, X}},  

   {{ X, 0, Z},{-X, 0, Z},{ 0,-Z, X}},  

   {{ X, 0, Z},{ 0,-Z, X},{ Z,-X, 0}},  

   {{-X, 0, Z},{-Z, X, 0},{-Z,-X, 0}}, 

   {{-Z,-X, 0},{-Z, X, 0},{-X, 0,-Z}},

   {{-X, 0,-Z},{-Z, X, 0},{ 0, Z,-X}},  

   {{-X, 0,-Z},{ 0,-Z,-X},{-Z,-X, 0}}

};

 

            Com isso em mãos, foram obtidos os seguintes sólidos:

 

 

 

trabalho1src.zip