Skip to content

Instantly share code, notes, and snippets.

@yong27
Created May 24, 2013 05:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yong27/5641525 to your computer and use it in GitHub Desktop.
Save yong27/5641525 to your computer and use it in GitHub Desktop.
Clock angle chart ipython notebook
Display the source blob
Display the rendered blob
Raw
{
"metadata": {
"name": "Clock angle"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"I wanted to see the graph of the clock angle. Below is the \"clock_angle\" function."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from math import pi, degrees\n",
"\n",
"def get_hour_angle(hour, minute=0):\n",
" angle = (hour / 6.) * pi\n",
" minute_angle = get_minute_angle(minute) / 12\n",
" return angle + minute_angle\n",
"\n",
"def get_minute_angle(minute):\n",
" angle = (minute / 30.) * pi\n",
" return angle\n",
"\n",
"def clock_angle(minute):\n",
" hour, minute = (minute / 60, minute % 60)\n",
" angle = abs(get_hour_angle(hour, minute) - get_minute_angle(minute))\n",
" if angle > pi:\n",
" angle = 2 * pi - angle\n",
" return angle"
],
"language": "python",
"metadata": {},
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"It's a test for clock_angle."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"import unittest\n",
"\n",
"class ClockAngleTest(unittest.TestCase):\n",
" def test_get_hour_angle(self):\n",
" self.assertEqual(get_hour_angle(0), 0)\n",
" self.assertEqual(get_hour_angle(3), pi/2)\n",
" self.assertEqual(get_hour_angle(6), pi)\n",
" self.assertEqual(get_hour_angle(12), 2 * pi)\n",
" self.assertEqual(get_hour_angle(18), pi)\n",
"\n",
" def test_get_minute_angle(self):\n",
" self.assertEqual(get_minute_angle(0), 0)\n",
" self.assertEqual(get_minute_angle(30), pi)\n",
"\n",
" def test_get_clock_angle(self):\n",
" self.assertEqual(clock_angle(0), 0)\n",
" self.assertEqual(clock_angle(360), pi)\n",
" self.assertEqual(clock_angle(180), pi/2)\n",
" self.assertEqual(clock_angle(210), pi - (pi/2) - (pi/12))\n",
" self.assertEqual(round(degrees(clock_angle(140))), 50)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"minutes = arange(720) # 12 hours\n",
"angles = map(clock_angle, minutes)\n",
"plot(minutes, angles)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 6,
"text": [
"[<matplotlib.lines.Line2D at 0x107129fd0>]"
]
},
{
"output_type": "display_data",
"png": "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\n8EZGRkYh1f8DblgrpFVsavEAAAAASUVORK5CYII=\n"
}
],
"prompt_number": 6
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"I thought it may be a kind of sin curve. but it's not."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
}
],
"metadata": {}
}
]
}
@yong27
Copy link
Author

yong27 commented May 24, 2013

You can see it in nbviewer

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment