Here is a 3D Clock.
The code is remarked so that you can see how it works.
It's designed for DBPro as it can be run in a window but it should work in DBClassic, although I haven't tried it.
It runs by your system clock so it will only be correct if your system clock is.
Here it is
Rem 3D Virtual Clock
Rem Run this program in windowed mode so that it can be shrunk and placed in corner of screen.
Rem Load hands
make object box 1,5,100,5 : color object 1,rgb(255,0,0) : make object box 2,5,150,5 : color object 2,rgb(0,255,0) : make object box 3,5,120,5 : color object 3,rgb(0,0,255)
Rem Make clock face and joint
make object sphere 4,5 : color object 4,rgb(255,255,0) : position object 4,0.0,0.0,-15.0 : make object sphere 5,400 : scale object 5,100,100,1 : color object 5,rgb(255,255,0) : position object 5,0.0,0.0,10.0
Rem Make numbers
for n = 1 to 12 : make object sphere n + 10,20 : color object n + 10,rgb(0,255,255) : position object n + 10,sin(n * 30.0) * 175.0,cos(n * 30.0) * 175.0,0.0 : next n
Rem Place camera
position camera 0.0,0.0,-400.0 : point camera 0.0,0.0,0.0
Rem Set up sync
sync on : sync rate 30
Rem Start main loop
do
Rem Extract values from system clock
time$ = get time$() : h# = val(left$(time$,2)) : m# = val(mid$(time$,4) + mid$(time$,5)) : s# = val(right$(time$,2))
Rem Get fractions of hours etc.
hour# = h# + m# / 60.0 + s# / 3600.0 : min# = m# + s# / 60.0 : sec# = s#
Rem Calculate angles of hands
hang# = hour# * 360.0 / 12.0 : mang# = min# * 360.0 / 60.0 : sang# = sec# * 360.0 / 60.0
Rem Position hands to correct side of central point
position object 1,sin(hang#) * 40.0,cos(hang#) * 40.0,-10.0 : position object 2,sin(mang#) * 65.0,cos(mang#) * 65.0,-7.5 : position object 3,sin(sang#) * 50.0,cos(sang#) * 50.0,-5.0
Rem Rotate hands
zrotate object 1,-hang# : zrotate object 2,-mang# : zrotate object 3,-sang#
Rem Sync
sync
Rem Repeat main loop
loop
Please tell me what you think