Problem Statement

Given a specific time on a clock, determine the angle between the hour and minute hands. The goal is to calculate the angle accurately and to identify whether the angle is the smaller or larger angle between the two hands, considering that a clock is circular and the maximum possible angle between the hands is 180 degrees.

Understanding Clock Hand Movements

A Clock which is a circle, which means it has 360 degree angle. Since there are 12 hours in the complete circle, each slice between the hour is 360/12 = 30 degrees.

image-210.png
  1. Minute Hand Movement:
    • The minute hand moves 6 degrees per minute. This is derived from the fact that the minute hand completes a full 360-degree rotation every 60 minutes (360 / 60 = 6 degree per minute).
    • Calculating the angle of the minute hand, therefore, just means you have to multiply the number of minutes by 6. If we are given the times 12:15, we know the minute hand is at 15 * 6(since minute hand moves 6 degree per minute) = 90.
  2. Hour Hand Movement:
    • The hour hand moves 30 degrees per hour. This is because the hour hand completes a full 360-degree rotation every 12 hours (360 / 12 = 30 degree per hour).
    • Additionally, the hour hand moves 0.5 degrees per minute (30 / 60 = 0.5 degree per minute) due to the passage of minutes.
    • Calculating the angle of the hour hand is a bit trickier:
      • Suppose it's 9:20, the hour hand is not directly on the 9 right. Instead it is a bit after the 9. Since the hour hand moves with the movement of minute hand. We need to know exactly how much that bit is after 9.
      • Since there are 60 minutes in an hour, and the hour hand moves 30 degrees every 60 minutes, that means the hour hand moves 30/60, or 0.5 degrees every minute. Therefore, the angle of the hour hand can be calculated by multiplying the hour by 30, multiplying the minutes by 0.5, and adding those two results.
      • For 9:20
        • For this case we had know that the hour hand is a bit past the 9.
        • When its the 9 then the hour hand would be at 9 * 30 = 270.
        • When it ticked 9:20, the 20 minutes add some offset to hour hand, which is 20*0.5 = 10.
        • Thus in total, at 9:20, the hour hand would be at angle of 270 + 10 = 280
  3. Always Return the Smaller Angle: There is always two possible angles: the larger one and the smaller one. If angle between the hour and minute hands is greater than 180 degrees, we need to subtract it from 360 degrees to get the smaller angle.

    For instance, if the time is 12:30, we calculate the angle of the hour hand as follows:

    Hour hand angle = (hour*30) + (minutes * 0.5)

    (12 * 30) + (30 * 0.5) = 375 degrees

    The minute hand, is this case, is at:

    Minute hand angle = minutes * 6

    30 * 6 = 180 degrees

    The absolute difference = | 375 - 180 | = 195 degrees

    However, 195 degrees is the larger angle between the two hands. To find the smaller angle, we need to calculate:

    Smaller angle = 360 - 195 = 165 degrees.

    Therefore, the angle we want to return is the smaller of the two: the absolute difference or 360 minus the absolute difference. This ensures we always get the smaller angle between the hour and minute hands.

Formulae to Remember:

  1. Minute Hand Angle:

    Minute hand angle = Minutes × 6

  2. Hour Hand Angle:

    Hour hand angle = (Hour % 12) × 30 + Minutes × 0.5

  3. Angle Difference:

    Difference=∣ Hour hand angle−Minute hand angle ∣

  4. Determine the Smaller Angle:
    1. If the absolute difference is less than or equal to 180 degrees, it's already the smaller angle.
    2. If the absolute difference is greater than 180 degrees, subtract it from 360 degrees to get the smaller angle.
      • If the Difference > 180 degrees:
        • Smaller angle=360−Difference
      • Otherwise:
        • Smaller angle=Difference

 

References

https://dev.to/alisabaj/finding-the-angle-between-the-hands-of-a-clock-2lg1#:~:text=Since%20there%20are%2060%20minutes%20in%20an%20hour%2C%20and%20the,and%20adding%20those%20two%20results.