{"nbformat": 3, "worksheets": [{"cells": [{"cell_type": "markdown", "source": ["# Matrices to transform geometry"], "metadata": {}}, {"outputs": [], "collapsed": false, "language": "python", "input": ["import numpy as np\n", "import matplotlib.pyplot as pt"], "cell_type": "code", "prompt_number": 1, "metadata": {}}, {"outputs": [], "collapsed": false, "language": "python", "input": ["def parse_squiggle(s):\n", " numbers = [float(num) for num in s.split()]\n", " a = np.array(numbers)\n", " return a.reshape(-1, 2).T\n", "\n", "stickman = parse_squiggle(\"251.43 286.38 250.93 286.27 250.55 286.04 250.67 286.61 250.93 286.95 251.31 287.29 251.94 287.63 252.44 287.86 253.33 288.09 254.08 288.32 255.09 288.54 256.11 288.66 257.24 288.77 258.76 289.11 260.02 289.23 261.54 289.45 262.67 289.57 263.94 289.57 264.82 289.68 265.71 289.68 266.59 289.79 267.09 289.79 267.60 289.91 268.23 290.13 268.61 290.36 269.12 290.70 269.62 290.93 270.13 291.04 270.76 291.04 271.26 291.04 271.64 291.04 271.26 291.04 271.39 290.70 271.64 290.13 272.02 289.34 272.40 288.43 273.16 287.07 273.79 286.04 274.42 284.68 275.31 282.97 275.94 281.04 276.69 278.77 277.58 276.38 278.21 274.11 279.09 272.17 279.85 270.81 280.23 269.56 280.99 268.76 281.49 267.85 282.00 266.83 282.63 265.69 283.01 264.44 283.52 263.08 284.27 261.60 285.28 260.24 286.04 258.87 286.67 257.96 287.05 257.39 287.18 257.17 287.56 257.17 287.94 257.62 288.44 258.08 288.82 258.99 289.20 260.35 289.83 261.71 290.08 263.31 290.46 264.67 290.97 265.92 291.60 267.17 292.11 268.42 292.61 269.67 293.24 271.15 293.62 272.63 294.13 274.11 294.63 275.36 294.88 276.61 295.39 277.74 295.89 278.65 296.27 279.56 296.65 280.24 296.91 280.81 297.16 281.38 297.66 282.18 298.17 282.86 298.55 283.43 298.93 283.88 299.05 284.22 299.31 284.56 299.56 285.13 299.94 285.59 300.06 285.93 300.32 286.27 300.57 286.61 300.82 286.95 301.07 287.29 301.33 287.63 301.33 287.97 301.45 288.43 301.58 288.77 301.83 289.23 302.08 289.57 302.59 289.91 302.97 290.13 303.22 290.48 303.47 290.93 303.73 291.39 304.23 291.73 304.61 292.18 304.74 292.64 305.12 293.09 305.49 293.55 305.87 293.77 306.25 294.00 306.63 294.23 306.51 293.89 307.01 293.66 307.39 293.55 307.89 293.43 308.53 293.32 309.03 293.20 309.54 292.98 310.29 292.75 311.18 292.41 312.32 292.18 313.45 291.95 314.59 291.73 315.73 291.61 316.99 291.39 318.38 291.27 319.52 291.04 320.78 290.93 321.79 290.82 322.80 290.70 323.81 290.48 324.44 290.48 325.20 290.36 325.58 290.25 326.21 290.13 326.72 290.02 327.35 289.91 327.85 289.91 328.23 289.79 328.48 289.45 328.48 288.77 328.48 287.97 328.48 286.84 328.48 285.25 328.36 283.88 328.23 282.29 327.73 280.47 327.35 278.31 326.59 276.15 326.08 273.99 325.45 271.95 324.95 270.13 324.44 268.42 324.06 266.94 323.68 265.47 323.31 263.99 322.93 262.62 322.67 261.37 322.42 260.35 322.17 259.21 321.92 258.42 321.66 257.39 321.41 256.48 321.16 255.69 321.03 254.89 320.91 253.98 320.78 253.30 320.53 252.28 320.40 251.71 320.27 250.80 320.02 250.12 319.89 249.44 319.77 248.75 319.52 248.19 319.39 247.62 319.26 247.28 319.14 246.71 319.01 246.25 318.88 245.80 318.76 245.46 318.63 245.12 318.51 244.21 318.51 243.75 318.38 243.18 318.25 242.50 318.00 242.05 317.75 241.36 317.62 240.68 317.62 240.00 317.49 239.66 317.37 239.32 317.24 238.98 317.24 238.64 317.12 238.18 316.99 237.73 316.99 237.16 316.86 236.59 316.74 236.13 316.61 235.34 316.48 234.77 316.23 234.09 316.11 233.41 315.85 232.84 315.73 232.38 315.60 231.93 315.47 231.59 315.09 230.91 314.84 230.56 314.72 230.22 314.46 229.65 314.21 229.43 313.96 228.97 313.71 228.29 313.33 227.61 313.07 226.93 312.69 226.36 312.57 226.02 312.32 225.56 312.06 224.99 312.06 224.43 311.81 223.97 311.68 223.52 311.56 223.17 311.43 222.83 311.31 222.27 311.18 221.92 311.18 221.36 311.05 220.90 310.93 220.22 310.80 219.65 310.67 219.08 310.55 218.40 310.42 217.72 310.17 217.15 310.04 216.35 309.79 215.67 309.66 215.44 309.54 215.10 309.54 214.76 309.54 214.42 309.16 214.42 309.16 213.97 309.54 213.97 310.17 213.97 310.67 213.97 311.18 214.19 311.68 214.42 312.06 214.53 312.44 214.65 312.95 214.76 313.45 214.76 313.96 214.88 314.46 215.10 314.97 215.22 315.35 215.44 315.98 215.67 316.61 215.67 317.49 216.01 318.25 216.13 318.88 216.24 319.52 216.35 320.02 216.47 320.53 216.69 321.03 216.81 321.41 216.92 321.79 217.04 322.42 217.15 322.80 217.38 323.18 217.38 323.56 217.38 324.06 217.38 324.57 217.38 325.07 217.49 325.58 217.49 326.08 217.72 326.59 217.83 327.09 217.95 327.60 218.06 327.98 218.06 328.48 218.40 329.24 218.63 330.25 218.85 331.14 219.08 331.77 219.08 332.27 219.08 332.78 219.20 333.16 219.20 333.54 219.20 333.92 219.20 334.55 219.42 335.05 219.42 335.81 219.54 336.57 219.54 337.33 219.54 337.83 219.54 338.46 219.54 339.09 219.65 339.47 219.76 340.11 219.76 340.48 219.76 340.86 219.76 341.24 219.76 341.62 219.76 342.00 219.76 342.63 219.88 343.26 219.99 343.77 220.11 344.27 220.22 344.65 220.33 345.03 220.33 345.54 220.45 345.79 220.11 345.92 219.65 346.04 218.97 346.29 218.06 346.42 216.81 346.80 215.90 346.93 214.76 347.18 213.63 347.31 212.26 347.43 211.24 347.56 210.10 347.68 208.96 347.81 207.94 347.94 206.69 347.94 205.44 348.06 204.42 348.06 203.39 348.19 202.37 348.32 201.57 348.32 200.67 348.44 200.10 348.44 199.53 348.44 199.19 348.32 198.85 348.32 198.51 348.32 198.16 348.32 197.82 348.32 197.25 348.32 196.57 348.32 196.23 348.32 195.78 348.32 195.44 347.94 195.66 347.43 195.66 347.05 195.66 346.55 195.55 345.66 195.55 344.78 195.55 343.77 195.44 342.76 195.32 341.75 195.09 340.61 194.87 339.35 194.53 338.21 194.30 336.82 193.96 335.43 193.73 334.17 193.39 332.91 193.05 331.64 192.82 330.25 192.59 328.99 192.25 327.47 192.03 326.21 191.68 324.82 191.34 323.56 190.89 322.29 190.43 321.03 189.98 319.77 189.64 318.63 189.41 317.49 189.18 316.36 188.96 315.35 188.73 314.72 188.50 313.96 188.27 313.58 188.16 313.20 188.05 312.69 187.93 312.06 187.82 311.56 187.82 311.18 187.71 310.67 187.59 310.29 187.48 309.79 187.48 309.41 187.36 309.03 187.36 308.40 187.36 307.89 187.25 307.39 187.14 306.76 187.14 306.25 187.02 305.87 186.91 305.49 186.91 305.12 186.68 304.74 186.68 304.36 186.45 304.36 186.80 304.74 186.80 305.37 186.91 306.00 187.02 306.51 187.25 307.26 187.48 308.02 187.71 308.78 187.93 309.41 188.05 309.92 188.16 310.67 188.27 311.18 188.27 311.81 188.39 312.32 188.39 312.95 188.39 313.45 188.39 313.96 188.39 314.59 188.27 315.22 187.93 315.60 187.71 315.98 187.59 316.36 187.36 316.74 187.25 317.37 186.68 317.75 186.45 318.13 186.11 318.63 185.55 319.01 185.20 319.39 184.75 319.77 184.18 320.27 183.61 320.40 183.16 320.91 182.59 321.28 182.02 321.54 181.23 321.79 180.54 321.92 179.86 322.04 178.95 322.17 178.16 322.29 177.25 322.42 176.34 322.55 175.43 322.67 174.52 322.67 173.49 322.80 172.59 322.80 171.79 322.80 171.11 322.67 170.43 322.67 169.52 322.55 168.72 322.29 167.70 321.92 166.67 321.41 165.76 321.03 164.51 320.53 163.60 320.15 162.69 319.77 161.79 319.26 160.99 318.63 159.97 318.00 159.17 317.49 158.26 316.99 157.24 316.36 156.33 315.85 155.42 314.97 154.28 314.21 153.49 313.58 152.58 312.69 151.78 311.81 150.76 310.80 149.73 309.54 148.71 308.65 147.69 307.64 146.78 306.63 145.98 305.75 145.19 304.74 144.51 303.60 143.94 302.46 143.14 301.33 142.57 299.94 141.89 298.67 141.09 297.41 140.41 296.02 139.62 294.63 138.93 293.12 138.37 291.35 137.80 289.45 137.34 287.43 136.89 285.54 136.43 283.89 136.09 282.38 135.87 280.99 135.52 279.98 135.30 278.84 135.18 277.83 135.07 276.95 134.96 275.81 134.96 274.93 134.96 273.79 134.96 272.65 134.96 271.52 135.07 270.38 135.30 269.37 135.64 268.36 135.98 267.35 136.55 266.72 137.00 265.71 137.46 265.07 137.91 264.44 138.25 263.68 138.71 263.05 139.16 262.17 139.84 261.54 140.41 260.78 140.87 260.15 141.44 259.64 142.00 259.14 142.57 258.63 143.25 258.00 143.82 257.49 144.62 256.99 145.53 256.48 146.44 255.98 147.35 255.47 148.26 255.09 148.94 254.59 149.73 254.34 150.76 253.96 151.55 253.58 152.69 253.33 153.83 253.07 154.74 252.95 155.76 252.95 156.90 252.82 158.03 252.82 159.40 252.69 160.53 252.69 161.79 252.69 162.81 252.69 163.83 252.82 164.85 252.95 165.88 253.07 166.79 253.20 167.70 253.45 168.49 253.71 169.29 253.96 170.08 254.21 170.88 254.34 171.68 254.46 172.36 254.59 172.93 254.72 173.49 254.84 174.29 254.97 174.97 255.09 175.65 255.22 176.45 255.47 177.13 255.73 177.93 255.98 178.61 256.36 179.41 256.61 179.97 256.99 180.54 257.37 181.23 257.75 181.79 258.00 182.48 258.25 182.93 258.63 183.61 258.88 183.95 259.26 184.41 259.64 184.75 260.40 184.98 260.91 185.20 261.54 185.43 262.17 185.66 262.55 186.00 263.05 186.23 263.68 186.57 264.32 186.80 265.07 187.02 265.83 187.36 266.59 187.48 267.35 187.59 268.11 187.71 268.86 187.71 269.75 187.71 270.88 187.93 271.77 188.05 272.78 188.16 273.79 188.27 274.80 188.27 275.81 188.27 276.44 188.27 276.82 188.39 277.20 188.50 277.58 188.61 277.71 188.96 277.33 188.84 276.95 188.84 276.44 188.84 275.94 188.73 275.56 188.61 275.18 188.61 274.80 188.61 274.29 188.61 273.66 188.61 273.28 188.61 272.53 188.73 271.89 188.73 271.14 188.84 270.25 188.84 269.37 189.07 268.48 189.30 267.47 189.52 266.59 189.87 265.96 189.98 265.07 190.21 264.44 190.32 263.68 190.43 262.93 190.55 262.17 190.55 261.28 190.55 260.65 190.66 259.89 190.89 259.26 191.00 258.51 191.12 257.62 191.23 256.74 191.46 255.98 191.57 255.35 191.91 254.84 192.14 254.34 192.37 253.96 192.48 253.33 192.71 252.82 192.82 252.32 193.05 251.94 193.05 251.43 193.28 250.80 193.39 250.29 193.62 249.54 193.96 249.03 194.30 248.40 194.53 247.77 194.75 247.26 194.87 246.63 195.21 246.00 195.55 245.62 195.89 245.24 196.23 244.86 196.46 244.48 196.57 244.11 196.80 243.60 197.14 242.97 197.60 242.59 197.82 242.08 197.94 241.71 198.05 241.20 198.28 240.69 198.62 240.19 198.96 239.81 199.19 239.43 199.41 238.93 199.53 238.55 199.76 237.92 199.87 237.54 199.98 237.16 199.98 236.78 200.32 236.53 200.67 236.53 201.23 236.65 201.80 236.78 202.48 237.03 202.83 237.28 203.51 237.79 204.42 238.29 205.21 238.67 206.35 239.18 207.26 239.43 208.05 239.81 208.74 240.19 209.31 240.57 209.99 241.07 210.67 241.45 211.35 241.83 212.15 242.34 212.83 242.46 213.17 242.72 213.63 242.97 213.97 243.22 214.65 243.35 214.99 243.47 215.33 243.60 215.90 243.73 216.47 243.85 216.81 244.11 217.26 244.36 217.49 244.36 217.95 244.61 218.40 244.86 218.74 244.99 219.08 245.12 219.42 245.49 219.54 245.87 219.54 246.38 219.54 246.76 219.54 247.26 219.54 247.77 219.54 248.53 219.54 249.03 219.65 249.79 219.65 250.55 219.54 251.31 219.54 252.06 219.54 252.82 219.54 253.45 219.42 254.21 219.42 254.97 219.20 255.60 219.20 256.36 219.08 256.86 218.85 257.37 218.74 257.75 218.74 258.38 218.63 258.88 218.51 259.64 218.40 260.27 218.29 260.91 218.17 261.41 218.06 261.79 217.95 262.17 217.95 262.80 217.83 263.31 217.72 263.94 217.49 264.44 217.38 264.82 217.38 265.33 217.26 265.96 217.04 266.46 217.04 267.22 216.92 267.85 216.81 268.36 216.69 269.24 216.58 269.62 216.47 270.25 216.35 270.88 216.24 271.39 216.13 271.89 216.13 272.53 216.01 273.03 216.01 273.79 216.01 274.42 216.01 275.31 215.90 275.94 215.90 276.44 215.67 276.95 215.67 277.58 215.67 277.96 215.56 278.46 215.44 278.97 215.44 279.73 215.56 280.48 215.67 281.24 215.67 281.87 215.67 282.38 215.67 282.76 215.67 283.39 215.67 284.02 215.67 284.53 215.67 285.16 215.67 285.54 215.67 286.04 215.90 286.29 216.24 285.92 216.58 285.66 217.04 285.41 217.72 284.78 218.29 284.15 219.08 283.52 219.99 282.63 220.56 282.00 221.58 281.12 222.27 280.36 223.06 279.98 223.97 279.47 224.43 279.09 224.99 278.46 225.56 277.83 226.02 277.33 226.81 276.82 227.49 276.57 228.29 276.32 228.86 275.94 229.31 275.56 229.65 275.18 230.00 274.67 230.56 274.42 231.02 274.04 231.36 273.79 231.93 273.54 232.38 273.28 233.07 272.91 233.97 272.27 234.66 271.77 235.45 271.39 236.02 271.01 236.48 270.88 237.04 270.63 237.50 270.51 238.07 270.25 238.75 270.00 239.20 269.75 239.77 269.62 240.00 269.49 240.68 269.37 241.25 269.24 241.71 268.99 242.39 268.74 242.96 268.48 243.75 268.11 244.55 267.85 245.23 267.47 246.25 267.22 246.93 266.97 247.96 266.59 248.64 266.34 249.21 266.08 249.78 265.83 250.12 265.58 250.46 265.45 251.03 265.20 251.37 264.95 251.71 264.69 252.05 264.57 252.51 264.32 252.85 264.06 253.30 263.94 253.76 263.56 254.32 263.18 254.78 262.93 255.12 262.55 255.46 262.17 255.69 261.92 256.14 261.66 256.60 261.54 257.05 261.28 257.62 260.91 258.08 260.53 258.64 260.27 259.10 259.89 259.44 259.64 259.89 259.39 260.24 259.14 260.58 258.88 260.92 258.76 261.49 258.38 262.28 258.13 262.62 257.87 263.31 257.62 263.76 257.37 264.33 257.24 264.90 256.99 265.47 256.74 266.03 256.48 266.60 256.23 267.17 256.11 267.51 255.85 267.85 255.73 268.31 255.47 268.76 255.22 269.22 255.09 269.90 254.84 270.35 254.59 270.92 254.34 271.38 254.08 271.83 253.96 272.29 253.83 272.74 253.58 273.08 253.33 273.88 253.33 274.33 253.20 274.79 253.20 275.36 252.95 276.04 252.69 276.38 252.57 276.95 252.44 277.40 252.32 277.86 252.32 278.31 252.19 278.77 252.06 279.22 251.94 279.56 251.81 280.02 251.56 280.59 251.43 281.27 251.43 281.61 251.31 281.84 251.18 282.29 251.05 282.75 251.05 283.09 250.80 283.54 250.67 283.88 250.67 284.22 250.55 284.68 250.55 285.13 250.42 285.59 250.29 285.93 250.29 286.27 250.29 286.61 250.42 286.04 250.93 284.45\")\n", "stickman[1] *= -1"], "cell_type": "code", "prompt_number": 2, "metadata": {}}, {"outputs": [{"text": ["[]"], "output_type": "pyout", "prompt_number": 3, "metadata": {}}, {"text": [""], "output_type": "display_data", "png": "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\nOecc8P9bOJFKcO3Z5wAAAABJRU5ErkJggg==\n", "metadata": {}}], "collapsed": false, "language": "python", "input": ["pt.plot(stickman[0], stickman[1])"], "cell_type": "code", "prompt_number": 3, "metadata": {}}, {"cell_type": "markdown", "source": ["Now define A to be a rotation matrix:"], "metadata": {}}, {"outputs": [], "collapsed": false, "language": "python", "input": ["alpha = 0.1*np.pi"], "cell_type": "code", "prompt_number": 4, "metadata": {}}, {"outputs": [], "collapsed": false, "language": "python", "input": ["A = np.array([\n", " [np.cos(alpha), np.sin(alpha)],\n", " [-np.sin(alpha), np.cos(alpha)]\n", "])"], "cell_type": "code", "prompt_number": 5, "metadata": {}}, {"cell_type": "markdown", "source": ["Why does this matrix act as a rotation?\n", "\n", "* Think: What happens to $(1,0)^T$ and $(0,1)^T$ when they're multiplied by `A`?"], "metadata": {}}, {"cell_type": "markdown", "source": ["-------------------------\n", "\n", "Now multiply the geometry by this matrix, reassign to `stickman`, and plot:\n", "\n", "(Also try to evaluate this cell multiple times with Ctrl+Enter)"], "metadata": {}}, {"outputs": [{"text": ["[]"], "output_type": "pyout", "prompt_number": 29, "metadata": {}}, {"text": [""], "output_type": "display_data", "png": "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\nHAeA/we1X7PvQxtVWAAAAABJRU5ErkJggg==\n", "metadata": {}}], "collapsed": false, "language": "python", "input": ["stickman = A.dot(stickman)\n", "pt.plot(stickman[0], stickman[1])"], "cell_type": "code", "prompt_number": 29, "metadata": {}}, {"cell_type": "markdown", "source": ["* Observe that this is, nominally, matrix-matrix multiplication. (`stickman` is a 2D array)\n", "* However, `stickman` is really more 'array of vertices' than 'matrix'.\n", "* The math doesn't care either way though."], "metadata": {}}], "metadata": {}}], "nbformat_minor": 0, "metadata": {"signature": "sha256:a8b7c45ee837fd6e0da078ca8684e815042579264ec2993e0b7e7b018d1452e3", "name": ""}}