{ "metadata": { "name": "", "signature": "sha256:008449515032517dd00b2b71fb47cf986e8bc633bfad3e80b6569fc3a22ba5c9" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "9. Show mathematically that the combination of a mirror plane and a translation vector $\\mathbf{t}$ perpendicular to the mirror plane implies the existence of a mirror plane at $\\mathbf{t}$/2." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Solution:\n", " \n", "Without loss of generality, let's define the translation vector be to the c-basis vector (note that we can always redefine basis vectors to make this the case).\n", "\n", "The mirror operation is therefore given by:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import numpy as np\n", "M = np.eye(4).astype(np.int)\n", "M[2, 2] = -1\n", "print M" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[[ 1 0 0 0]\n", " [ 0 1 0 0]\n", " [ 0 0 -1 0]\n", " [ 0 0 0 1]]\n" ] } ], "prompt_number": 1 }, { "cell_type": "markdown", "metadata": {}, "source": [ "The translation operation is given by:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "from sympy import symbols\n", "t = symbols(\"t\")\n", "T = [[1, 0, 0, 0],\n", " [0, 1, 0, 0],\n", " [0, 0, 1, t],\n", " [0, 0, 0, 1]]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 2 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Consider the relationship between a reflected point and a translated point. The operation that maps the reflected point to the translated point is given by:\n", "\n", "$Op_m = p_t$\n", "\n", "$OMp = Tp$\n", "\n", "$OM = T$\n", "\n", "=> $O = TM^{-1}$" ] }, { "cell_type": "code", "collapsed": false, "input": [ "O = np.dot(T, np.linalg.inv(M))\n", "print \"O = %s\" % str(O)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "O = [[1.0 0.0 0.0 0.0]\n", " [0.0 1.0 0.0 0.0]\n", " [0 0 -1.00000000000000 1.0*t]\n", " [0.0 0.0 0.0 1.0]]\n" ] } ], "prompt_number": 3 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now consider a mirror plane at t/2. The symmetry operation is given by:\n", "\n", "$O' = T_{t/2}MT_{-t/2}$ " ] }, { "cell_type": "code", "collapsed": false, "input": [ " T__t2 = [[1, 0, 0, 0],\n", " [0, 1, 0, 0],\n", " [0, 0, 1, -t/2],\n", " [0, 0, 0, 1]]\n", "T_t2 = [[1, 0, 0, 0],\n", " [0, 1, 0, 0],\n", " [0, 0, 1, t/2],\n", " [0, 0, 0, 1]]\n", "O = np.dot(T_t2, np.dot(M, T__t2))\n", "print \"O' = %s\" % str(O)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "O' = [[1 0 0 0]\n", " [0 1 0 0]\n", " [0 0 -1 t]\n", " [0 0 0 1]]\n" ] } ], "prompt_number": 4 }, { "cell_type": "markdown", "metadata": {}, "source": [ "We may observe that $O' = O$, i.e., a reflection with a perpendicular translation **t** implies the existence of a mirror plane at **t/2**." ] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 4 } ], "metadata": {} } ] }