// Persistence of Vision Ray Tracer Scene Description File // File: GeodesicDomeTest006.pov // Vers: 3.5 // Desc: GeodesicDome tests. // Date: mm/dd/yy // Auth: Joćo Paulo Silva // #version 3.5; #include "colors.inc" #include "math.inc" #include "geodome1.inc" global_settings { assumed_gamma 1.0 max_trace_level 5 } // ---------------------------------------- camera { location <0.0, 0.5, -2.5> direction 1.5*z right x*image_width/image_height look_at <0.0, 0.0, 0.0> translate <0,0.25,0> } sky_sphere { pigment { gradient y color_map { [0.0 rgb <0.6,0.7,1.0>] [0.7 rgb <0.0,0.1,0.8>] } } } light_source { <0, 0, 0> color rgb <1, 1, 1> translate <-30, 30, -30> } // ---------------------------------------- plane { y, 0 texture { pigment { checker color rgb 1 color blue 1 scale 0.5 } finish{ diffuse 0.8 ambient 0.1 } } } #default { texture { pigment { rgb 0.75 } normal { bumps 0.3 } finish { ambient 0.4 reflection 0.5 } } } //===============GEODOME======================= //Units are relative to the dome radius. #declare GeoArray = array[26] { < 0 , 1 , 0 >, < 0.525731, 0.850651, 0 >, < 0.16246 , 0.850651, 0.5 >, <-0.425325, 0.850651, 0.309017>, <-0.425325, 0.850651, -0.309017>, < 0.16246 , 0.850651, -0.5 >, < 0.688191, 0.525731, 0.5 >, <-0.262866, 0.525731, 0.809017>, <-0.850651, 0.525731, 0 >, <-0.262866, 0.525731, -0.809017>, < 0.688191, 0.525731, -0.5 >, < 0.894427, 0.447214, 0 >, < 0.276393, 0.447214, 0.850651>, <-0.723607, 0.447214, 0.525731>, <-0.723607, 0.447214, -0.525731>, < 0.276393, 0.447214, -0.850651>, < 0.951057, 0 , 0.309017>, < 0.587785, 0 , 0.809017>, < 0 , 0 , 1 >, <-0.587785, 0 , 0.809017>, <-0.951057, 0 , 0.309017>, <-0.951057, 0 , -0.309017>, <-0.587785, 0 , -0.809017>, < 0 , 0 , -1 >, < 0.587785, 0 , -0.809017>, < 0.951057, 0 , -0.309017> } #declare GeoArray2 = array[65][2] { { 1, 2}, { 1, 3}, { 1, 4}, { 1, 5}, { 1, 6}, { 2, 3}, { 2, 6}, { 2, 7}, { 2,11}, { 2,12}, { 3, 4}, { 3, 7}, { 3, 8}, { 3,13}, { 4, 5}, { 4, 8}, { 4, 9}, { 4,14}, { 5, 6}, { 5, 9}, { 5,10}, { 5,15}, { 6,10}, { 6,11}, { 6,16}, { 7,12}, { 7,13}, { 7,17}, { 7,18}, { 8,13}, { 8,14}, { 8,19}, { 8,20}, { 9,14}, { 9,15}, { 9,21}, { 9,22}, {10,15}, {10,16}, {10,23}, {10,24}, {11,12}, {11,16}, {11,25}, {11,26}, {12,17}, {12,26}, {13,18}, {13,19}, {14,20}, {14,21}, {15,22}, {15,23}, {16,24}, {16,25}, {17,18}, {18,19}, {19,20}, {20,21}, {21,22}, {22,23}, {23,24}, {24,25}, {25,26}, {26,17} } #declare GeoArray3 = array[40][3] { { 1, 2, 3}, // 1 { 1, 3, 4}, // 2 { 1, 4, 5}, // 3 { 1, 5, 6}, // 4 { 1, 2, 6}, // 5 { 2, 7,12}, // 6 { 2, 3, 7}, // 7 { 3, 7,13}, // 8 { 3, 8,13}, // 9 { 3, 4, 8}, // 10 { 4, 8,14}, // 11 { 4, 9,14}, // 12 { 4, 5, 9}, // 13 { 5, 9,15}, // 14 { 5,10,15}, // 15 { 5, 6,10}, // 16 { 6,10,16}, // 17 { 6,11,16}, // 18 { 2, 6,11}, // 19 { 2,11,12}, // 20 { 7,17,18}, // 21 { 7,13,18}, // 22 {13,18,19}, // 23 { 8,13,19}, // 24 { 8,19,20}, // 25 { 8,14,20}, // 26 {14,20,21}, // 27 { 9,14,21}, // 28 { 9,21,22}, // 29 { 9,15,22}, // 30 {15,22,23}, // 31 {10,15,23}, // 32 {10,23,24}, // 33 {10,16,24}, // 34 {16,24,25}, // 35 {11,16,25}, // 36 {11,25,26}, // 37 {11,12,26}, // 38 {12,17,26}, // 39 { 7,12,17}, // 40 } // Plot the predefined poits #declare meF = 0; #while (meF < 26) sphere { GeoArray[meF], 0.025 } #declare meF=meF+1; #end // connect the predefined points #declare meF = 0; #while (meF < 65) cone { GeoArray[GeoArray2[meF][0]-1], 0.01, GeoArray[GeoArray2[meF][1]-1], 0.01 } #declare meF=meF+1; #end // Subdivide the triangles +----- Level of subdivisions #declare meF = 0; // | #while (meF < 40) // v Div_Point(GeoArray3[meF][0],GeoArray3[meF][1],GeoArray3[meF][2],GeoArray,2,1) #declare meF=meF+1; #end // Control sphere (semi-transparent) sphere { <0, 0, 0>, 1 pigment {rgbf 0.75} finish { reflection 0} }