Jonathan. Frech’s WebBlog

JClock VIII (#135)

Jonathan Frech

Interpreting the hour hand on a clock as a two-di­men­sion­al object on a plane, the hand’s tip can be seen as a complex num­ber.
This clock converts the hour hand’s position into a complex num­ber, sets the num­ber’s length to the current minutes and displays it in the form $a+b\cdot i$$a+b\cdot i$.
The angle 𝜑 is determined by the hours passed ($\frac{2\cdot\pi\cdot\text{hour}}{12}=\frac{\pi\cdot\text{hour}}{6}$$\frac{2\cdot\pi\cdot\text{hour}}{12}=\frac{\pi\cdot\text{hour}}{6}$) but has to be slightly modified because a complex num­ber starts at the horizontal axis and turns anti-clockwise whilst an hour hand starts at the vertical axis and turns — as the name implies — clockwise. Thus, $\varphi=(2\cdot\pi-\frac{\pi\cdot\text{hour}}{6})+\frac{\pi}{2}=(\frac{15-\text{hour}}{6})\cdot\pi$$\varphi=(2\cdot\pi-\frac{\pi\cdot\text{hour}}{6})+\frac{\pi}{2}=(\frac{15-\text{hour}}{6})\cdot\pi$.

The complex num­ber’s length is simply determined by the minutes passed. Because the length must not be equal to 0, I simply add 1: $|z|=k=\text{minute}+1$$|z|=k=\text{minute}+1$.
Lastly, to convert a complex num­ber of the form $k\cdot e^{\varphi\cdot i}$$k\cdot e^{\varphi\cdot i}$ into the form $a+b\cdot i$$a+b\cdot i$, I use the formula $k\cdot(\cos{\varphi}+\sin{\varphi}\cdot i)=a+b\cdot i$$k\cdot(\cos{\varphi}+\sin{\varphi}\cdot i)=a+b\cdot i$.

Source code: jclock-viii.py