103 lines
2.0 KiB
POVRay
103 lines
2.0 KiB
POVRay
#include "colors.inc"
|
|
|
|
#declare r5 = 0.5 / sin (radians(36));
|
|
#declare rho5 = 0.5 * tan (radians(54));
|
|
#declare rho6 = 0.5 * tan (radians(60));
|
|
#declare v1 = 90 - degrees(asin(rho5/rho6));
|
|
#debug concat("v1 = ", str(v1, 0, 5), "\n")
|
|
#declare a = rho6 * cos(radians(v1)) + r5;
|
|
#declare b = 1;
|
|
#declare c = sqrt(a*a + b*b);
|
|
#declare d = rho6 * sin(radians(v1));
|
|
#declare v2 = 2 * degrees (asin(d/(c-r5)));
|
|
#debug concat("v2 = ", str(v2, 0, 5), "\n")
|
|
#declare e = sin(radians(72));
|
|
#debug concat("e = ", str(e, 0, 5), "\n")
|
|
#declare f = e * sin(radians(v1));
|
|
#debug concat("f = ", str(f, 0, 5), "\n")
|
|
#declare v3 = degrees (asin(f/rho6)) + v1;
|
|
#debug concat("v3 = ", str(v3, 0, 5), "\n")
|
|
|
|
|
|
#declare buckyball =
|
|
intersection {
|
|
plane {
|
|
<0, 1, 0> 1
|
|
pigment { color rgbf <1, 0, 0, 0.5> }
|
|
}
|
|
#declare i = 0;
|
|
#while (i < 360)
|
|
plane {
|
|
<0, 1, 0> 1
|
|
pigment { color rgbf <1, 1, 0, 0.5> }
|
|
rotate <0, 0, v1>
|
|
rotate <0, i, 0>
|
|
}
|
|
#declare i = i + 72;
|
|
#end
|
|
|
|
#declare i = 36;
|
|
#while (i < 360)
|
|
plane {
|
|
<0, 1, 0> 1
|
|
pigment { color rgbf <0, 1, 0, 0.5> }
|
|
rotate <0, 0, v2>
|
|
rotate <0, i, 0>
|
|
}
|
|
#declare i = i + 72;
|
|
#end
|
|
|
|
#declare i = 0;
|
|
#while (i < 360)
|
|
plane {
|
|
<0, 1, 0> 1
|
|
pigment { color rgbf <0, 1, 1, 0.5> }
|
|
rotate <0, 0, v3>
|
|
rotate <0, i, 0>
|
|
}
|
|
#declare i = i + 72;
|
|
#end
|
|
|
|
#declare i = 36;
|
|
#while (i < 360)
|
|
plane {
|
|
<0, 1, 0> 1
|
|
pigment { color rgbf <0, 0, 1, 0.5> }
|
|
rotate <0, 0, 180 - v3>
|
|
rotate <0, i, 0>
|
|
}
|
|
#declare i = i + 72;
|
|
#end
|
|
|
|
#declare i = 0;
|
|
#while (i < 360)
|
|
plane {
|
|
<0, 1, 0> 1
|
|
pigment { color rgbf <1, 0, 1, 0.5> }
|
|
rotate <0, 0, 180-v2>
|
|
rotate <0, i, 0>
|
|
}
|
|
#declare i = i + 72;
|
|
#end
|
|
|
|
#declare i = 36;
|
|
#while (i < 360)
|
|
plane {
|
|
<0, 1, 0> 1
|
|
pigment { color rgbf <1, 0, 0, 0.5> }
|
|
rotate <0, 0, 180-v1>
|
|
rotate <0, i, 0>
|
|
}
|
|
#declare i = i + 72;
|
|
#end
|
|
|
|
plane {
|
|
<0, 1, 0> 1
|
|
pigment { color rgbf <1, 1, 0, 0.5> }
|
|
rotate <0, 0, 180>
|
|
}
|
|
}
|
|
|
|
|
|
|