#version 3.7;
global_settings {
assumed_gamma 1.0
}
camera {
location <1, -3, -5>
look_at 0
}
light_source {
-30 * z
colour rgb 1
}
background {
colour rgb 1
}
#local START_HOUR = 8;
#local START_MIN = 19;
#local START_SECOND = 50;
#local DUR = 15;
#local START = START_HOUR * 3600 + START_MIN * 60 + START_SECOND;
#local NOW = START + DUR * clock;
#local HOUR = int(NOW / 3600);
#local MIN = int(mod(NOW / 60, 60));
#local SECOND = mod(NOW, 60);
/* hour */
intersection {
cone {
0, 0.3
3 * y, 0.2
}
plane { -z, 0 }
translate <0, -0.75, -0.1>
rotate -(HOUR * 30 + MIN * 0.5) * z
}
/* min */
intersection {
cone {
0, 0.25
4.5 * y, 0.15
}
plane { -z, 0 }
translate <0, -0.75, -0.1>
rotate MIN * -6 * z
}
/* second */
intersection {
union {
cone {
0, 0.075, 3.5 * y, 0.075
translate -y
}
sphere {
0, 0.3
translate 2.5 * y
}
sphere { 0, 0.2 }
#if (SECOND < 58)
rotate (SECOND * 60 / 58) * -6 * z
#end
}
plane { -z, 0 }
pigment { rgb <1, 0, 0> }
translate -0.2 * z
}
intersection {
plane { -z, 0 }
difference {
sphere { 0, 5 }
sphere { 0, 4.5 }
}
pigment { rgb 0.1 }
}
intersection {
plane { -z, -0.1 }
sphere { 0, 4.5 }
pigment { rgb 1 }
}
#for (i, 1, 12)
box {
<0, -0.15, 0>, <1, 0.15, 1>
translate -4 * x
rotate i * 30 * z
pigment { rgb 0 }
}
#end
#for (i, 1, 60)
box {
<0, -0.05, 0>, <0.25, 0.05, 1>
translate -4 * x
rotate i * 6 * z
pigment { rgb 0 }
}
#end