POV-Ray : Newsgroups : povray.text.scene-files : Small Stellated Dodecahedron Server Time
1 Nov 2024 09:19:33 EDT (-0400)
  Small Stellated Dodecahedron (Message 1 to 1 of 1)  
From: Richard Schorn
Subject: Small Stellated Dodecahedron
Date: 2 Dec 2000 12:25:01
Message: <3A2930CC.7681F14F@t-online.de>
Enjoy!
Richard Schorn

// Persistence of Vision Ray Tracer Scene Description File
// File: smalstar.pov
// Vers: 3.1g
// Desc: small stellated dodecahedron
// Date: November 2000
// Auth: Richard Schorn (Ric### [at] t-onlinede)


// The computation of the coordinates was accomplished with
// the program DERIVE.

// You may need to adjust some lines due to word wrapping.

#version 3.1;

#include "colors.inc"
#include "textures.inc"

global_settings
{
  assumed_gamma 1.0
}

camera
{
  location  <300,700, -4200>
  look_at   <100,-300,200>
}

light_source{<-100,200,-2000> color White}
light_source{<500,1500,1200> color White}
light_source{<500,-500,-1500> color White}
background{White}

// start for random number generation
#declare start = 19320501;
#declare s=seed(start);

// constant values
#declare re = 5; // radius of the "edges"
#declare turn = <-10,30,40>; // argument for rotate
#declare transp = 0.0   // transparency,
                        // use 0.75 and you will see the sphere inside


// vertices 1 - 20 of the icosahedron
#declare vertex = array[33]
#declare vertex[00] = <0, 0, 0>;// dummy. so count of the vertices
starts with 1
#declare vertex[01] = <0, 0, 1000>;
#declare vertex[02] = <666.6, 0, 745.3>;
#declare vertex[03] = <-333.3, 577.3, 745.3>;
#declare vertex[04] = <-333.3, -577.3, 745.3>;
#declare vertex[05] = <745.3, -577.3, 333.3>;
#declare vertex[06] = <127.3, -934.1, 333.3>;
#declare vertex[07] = <-872.6, -356.8, 333.3>;
#declare vertex[08] = <-872.6, 356.8, 333.3>;
#declare vertex[09] = <127.3, 934.1, 333.3>;
#declare vertex[10] = <745.3, 577.3, 333.3>;
#declare vertex[11] = <872.6, -356.8, -333.3>;
#declare vertex[12] = <-127.3, -934.1, -333.3>;
#declare vertex[13] = <-745.3, -577.3, -333.3>;
#declare vertex[14] = <-745.3, 577.3, -333.3>;
#declare vertex[15] = <-127.3, 934.1, -333.3>;
#declare vertex[16] = <872.6, 356.8, -333.3>;
#declare vertex[17] = <333.3, -577.3, -745.3>;
#declare vertex[18] = <-666.6, 0, -745.3>;
#declare vertex[19] = <333.3, 577.3, -745.3>;
#declare vertex[20] = <0, 0, -1000>;
// vertices 21 - 32 of the dodecahedron
#declare vertex[21] = <539.3, 934.1, 1412.0>;
#declare vertex[22] = <-1078.6, 0, 1412.0>;
#declare vertex[23] = <539.3, -934.1, 1412.0>;
#declare vertex[24] = <872.6, -1511.5, -333.3>;
#declare vertex[25] = <1745.3, 0, 333.3>;
#declare vertex[26] = <872.6, 1511.5, -333.3>;
#declare vertex[27] = <-872.6, 1511.5, 333.3>;
#declare vertex[28] = <-1745.3, 0, -333.3>;
#declare vertex[29] = <-872.6, -1511.5, 333.3>;
#declare vertex[30] = <-539.3, -934.1, -1412.0>;
#declare vertex[31] = <1078.6, 0, -1412.0>;
#declare vertex[32] = <-539.3, 934.1, -1412.0>;


#declare three= array[60][3]
{
{21, 1, 2}, {21, 2, 10}, {21, 10, 9}, {21, 9, 3}, {21, 3, 1},
{22, 1, 3}, {22, 3, 8}, {22, 8, 7}, {22, 7, 4}, {22, 4, 1},
{23, 1, 4}, {23, 4, 6}, {23, 6, 5}, {23, 5, 2}, {23, 2, 1},
{24, 5, 6}, {24, 6, 12}, {24, 12, 17}, {24, 17, 11}, {24, 11, 5},
{25, 2, 5}, {25, 5, 11, }, {25, 11, 16}, {25, 16, 10}, {25, 10, 2},
{26, 9, 10}, {26, 10, 16}, {26, 16, 19}, {26, 19, 15}, {26, 15, 9},
{27, 3, 9}, {27, 9, 15}, {27, 15, 14}, {27, 14, 8}, {27, 8, 3},
{28, 7, 8}, {28, 8, 14}, {28, 14, 18}, {28, 18, 13}, {28, 13, 7},
{29, 4, 7}, {29, 7, 13}, {29, 13, 12}, {29, 12, 6}, {29, 6, 4},
{30, 12, 17}, {30, 17, 20}, {30, 20, 18}, {30, 18, 13}, {30, 13, 12},
{31, 11, 17}, {31, 17, 20}, {31, 20, 19}, {31, 19, 16}, {31, 16, 11},
{32, 15, 19}, {32, 19, 20}, {32, 20, 18}, {32, 18, 14}, {32, 14, 15}
}

#declare edge = array[90][2]
{
// edges of the icosahedron
{1,2},{1,3},{1,4},{2,5},
{2,10},{3,8},{3,9},{4,6},{4,7},
{5,6},{5,11},{6,12},{7,8},{7,13},
{8,14},{9,10},{9,15},{10,16},
{11,16},{11,17},{12,13},{12,17},
{13,18},{14,18},{14,15},{15,19},
{16,19},{17,20},{18,20},{19,20},
// "new" edges
{21, 1}, {21, 2}, {21, 10}, {21, 9}, {21, 1},
{22, 1}, {22, 3}, {22, 8}, {22, 7}, {22, 4},
{23, 1}, {23, 4}, {23, 6}, {23, 5}, {23, 2},
{24, 5}, {24, 6}, {24, 12}, {24, 17}, {24, 11},
{25, 2}, {25, 5}, {25, 11}, {25, 16}, {25, 10},
{26, 9}, {26, 10}, {26, 16}, {26, 19}, {26, 15},
{27, 3}, {27, 9}, {27, 15}, {27, 14}, {27, 8},
{28, 7}, {28, 8}, {28, 14}, {28, 18}, {28, 13},
{29, 4}, {29, 7}, {29, 13}, {29, 12}, {29, 6},
{30, 12}, {30, 17}, {30, 20}, {30, 18}, {30, 13},
{31, 11}, {31, 17}, {31, 20}, {31, 19}, {31, 16},
{32, 15}, {32, 19}, {32, 20}, {32, 18}, {32, 14}
}

#declare edgeU = union {
#declare i = 0;
#while(i<90)
        cylinder{vertex[edge[i][0]],vertex[edge[i][1]],re}
#declare i = i+1;
#end
}

#declare threeU = union {
#declare i = 0;
#while(i<60)

triangle{vertex[three[i][0]],vertex[three[i][1]],vertex[three[i][2]]pigment{rgbt
<rand(s),rand(s),rand(s),transp>} }
#declare i = i+1;
#end
}

#declare vertexU = union {
#declare i = 21; // start dodecahedron
#while(i<33)     // stop dodecahedron, you may change the values
        sphere{vertex[i], 7*re }
#declare i = i+1;
#end
}

#declare edges = object{edgeU pigment{Black} rotate turn}
#declare faces = object {threeU rotate turn}
#declare vertices = object{vertexU pigment{Red} rotate turn}

edges
faces
vertices

sphere{vertex[0] 600 pigment {Red_Marble scale 300} finish{phong 1} }


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.