Re: [Algorithms] Geodesic Sphere
Brought to you by:
vexxed72
From: Dave E. <eb...@ma...> - 2000-08-23 14:34:27
|
From: "Aldo Spanghero" <al...@ho...> > Do you know some algoritm to generate an icosahedron? MgcReal = float MgcVector3 is struct { float x, y, z } const MgcReal fGold = 0.5*(MgcMath::Sqrt(5.0)+1.0); unsigned int uiVertexQuantity = 12; MgcVector3* akVertex = new MgcVector3[12]; akVertex[0] = MgcVector3( fGold, 1.0, 0.0 ); akVertex[1] = MgcVector3(-fGold, 1.0, 0.0 ); akVertex[2] = MgcVector3( fGold, -1.0, 0.0 ); akVertex[3] = MgcVector3(-fGold, -1.0, 0.0 ); akVertex[4] = MgcVector3( 1.0, 0.0, fGold ); akVertex[5] = MgcVector3( 1.0, 0.0, -fGold ); akVertex[6] = MgcVector3(-1.0, 0.0, fGold ); akVertex[7] = MgcVector3(-1.0, 0.0, -fGold ); akVertex[8] = MgcVector3( 0.0, fGold, 1.0 ); akVertex[9] = MgcVector3( 0.0, -fGold, 1.0 ); akVertex[10] = MgcVector3( 0.0, fGold, -1.0 ); akVertex[11] = MgcVector3( 0.0, -fGold, -1.0 ); unsigned int uiTriangleQuantity = 20; unsigned int* auiConnect = new unsigned int[3*20]; auiConnect[ 0] = 0; auiConnect[ 1] = 8; auiConnect[ 2] = 4; auiConnect[ 3] = 0; auiConnect[ 4] = 5; auiConnect[ 5] = 10; auiConnect[ 6] = 2; auiConnect[ 7] = 4; auiConnect[ 8] = 9; auiConnect[ 9] = 2; auiConnect[10] = 11; auiConnect[11] = 5; auiConnect[12] = 1; auiConnect[13] = 6; auiConnect[14] = 8; auiConnect[15] = 1; auiConnect[16] = 10; auiConnect[17] = 7; auiConnect[18] = 3; auiConnect[19] = 9; auiConnect[20] = 6; auiConnect[21] = 3; auiConnect[22] = 7; auiConnect[23] = 11; auiConnect[24] = 0; auiConnect[25] = 10; auiConnect[26] = 8; auiConnect[27] = 1; auiConnect[28] = 8; auiConnect[29] = 10; auiConnect[30] = 2; auiConnect[31] = 9; auiConnect[32] = 11; auiConnect[33] = 3; auiConnect[34] = 11; auiConnect[35] = 9; auiConnect[36] = 4; auiConnect[37] = 2; auiConnect[38] = 0; auiConnect[39] = 5; auiConnect[40] = 0; auiConnect[41] = 2; auiConnect[42] = 6; auiConnect[43] = 1; auiConnect[44] = 3; auiConnect[45] = 7; auiConnect[46] = 3; auiConnect[47] = 1; auiConnect[48] = 8; auiConnect[49] = 6; auiConnect[50] = 4; auiConnect[51] = 9; auiConnect[52] = 4; auiConnect[53] = 6; auiConnect[54] = 10; auiConnect[55] = 5; auiConnect[56] = 7; auiConnect[57] = 11; auiConnect[58] = 7; auiConnect[59] = 5; -- Dave Eberly eb...@ma... http://www.magic-software.com |