What time is it?

init({ range: [ [-4, 4 ], [ -4, 4 ] ], scale: 25 });
clock = addAnalogClock({ hour: HOUR, minute: MINUTE, minuteTicks: 0 });
clock.draw();

init({ range: [ [-5, 5], [-3, 3] ], scale: 25 });

The time is:`HOUR` : `NICE_MINUTE` `AM_PM`

a 12-hour time in hours and minutes

path([ [-3, -1], [3, -1], [3, 1], [-3, 1], [-3, -1] ]);
graph.time = label( [0, -0.1],
"\\Huge{\\phantom{00}:\\phantom{00}}",
"center" );

The small hand is for the hour, and the big hand is for the minutes.

The hour hand is pointing at

, so the hour is `HOUR`

.`HOUR`

The hour hand is between

and `HOUR`

, so the hour is `HOUR + 1 === 13 ? 1 : HOUR + 1`

.`HOUR`

The hour hand is close to but hasn't passed

, so the hour is still `HOUR + 1 === 13 ? 1 : HOUR + 1`

.`HOUR`

graph.time.remove();
var padding = HOUR < 10 ? "\\phantom{0}" : "";
graph.time = label([0, -0.1],
"\\Huge{" + padding + HOUR + ":\\phantom{00}}",
"center" );

The minute hand starts pointing straight up for `0`

minutes, and makes a complete circle in `1`

hour.

For each quarter of the circle that the minute hand passes, add `15`

minutes.

The minute hand has passed `plural( MINUTE / 15, "fourth" )` of a circle, which represents `0`

minutes.`MINUTE`

graph.time.remove();
var padding = MINUTE < 10 ? "0" : "";
graph.time = label([0, -0.1],
"\\Huge{" + HOUR + ":" + padding + MINUTE + "}",
"center" );

The time is

:`HOUR`

.`NICE_MINUTE`