It is quite easy to write your own if you know how to calculate the relevant points on the circles for the hands. Then you could give them away with your own little advert on them.
If you draw a circle on the (x,y)-plane with centre the origin, then you will see that all you have to do is draw lines from the centre (the point (0,0)) to a set of points on the circle. If an arbitrary point on the circle is P(x,y), then we need to find x and y. The equations for this are...
x = rcosA
y = rsinA
where r is the radius of the circle, and A is the angle between the radius and the positive direction of the x-axis.
Every minute, the angle between the minute-hand and the positive direction of the x-axis changes by 360 / 60 = 6 degrees, and the hour-hand angle changes by (360 / 12) / 60 = 0.5 degrees.
Of course you will have to adjust your origin to be suitable for the screen's (x,y)-plane which has its origin at the top left corner.
If you want to know how the above parametric equations are derived, read below the dotted line. Ellipses can also be parametrised so you can have an elliptical clock. The equations are...
x = acosA
y = bsinA
where a is half the length of the major axis of the ellipse along the x-axis, and b is half the length of the minor axis of the ellipse along the y-axis. The derivation of these equations is a little more complicated than for the circle.
Dave
----------------------------------------------
To derive the pair of parametric equations for points on a circle...
Draw a circle on the (x,y)-plane with centre the origin O (the point (0,0)).
Mark a point P(x,y) on the circle in the first quadrant.
Draw a line from O to P, so OP is the radius of the circle.
Drop a vertical line from P to meet the x-axis.
We now have a right-angled triangle.
Mark the angle between the radius and the positive direction of the x-axis with label A.
Mark the adjacent side of the triangle x, and the opposite side y, and the hypotenuse r.
Now from your O-level trigonometry, you can see that...
cosA = x / r (adjacent divided by hypotenuse)
x = rcosA
...and...
sinA = y / r (opposite divided by hypotenuse)
y = rsinA
----------------------------------------------