﻿ Solution: Planar Rigid Body Transformations | Primer on Geometric Algebra | David Hestenes

## Solution: Planar Rigid Body Transformations

General time dependent (planar) displacement of a rigid body (and its attached unprimed frame) with respect to a fixed t=0 snapshot copy (the primed frame) is given by a time dependent rotor and translation vector. Using them we can transform the path of a particle given as a time dependent position vector (in the unprimed frame) into the equivalent path seen by the primed frame.

$\Large{{\bf{x'}}(t)\,\,\, = \,\,\,R(t)\,{\bf{x}}(t)\,\, + \,\,{\bf{a}}(t)\,\,~~~~~~~~~~\,\,{\rm{where}}\,\,\,\,R(t)\,\,\, = \,\,\,{e^{{\bf{i}}\theta (t)}}}$

Clarity (always a good thing) is necessary here to avoid possible confusions. For example,
a(t) is the vector in the primed system representing the position of the origin of the unprimed system, that is, pointing from the primed origin to the unprimed origin. So, why is there no prime accenting this vector? Technically, there probably should be, but historically the equation is typically written this way. The thinking is that this notation is simpler, people understand what we mean, and this way it is primed expressions on the left hand side and unprimed expressions on the right hand side of the equation. Probably it would be better to write the equation as

$\Large{{\bf{x'}}(t)\,\, - \,\,{\bf{a'}}(t)\,\,\, = \,\,\,R(t)\,{\bf{x}}(t)}$

We'll stick with the original notation, hoping we've now made the meaning of
a(t) clear enough. As a final note on this subject, we emphasize it matters which frame we use to represent a(t), because the frames are rotated with respect to each other. At least R(t) causes less possible confusion, because the plane designated by i is the same as seen from either frame. We can change focus and show how to get the unprimed path when the primed path is given, and at the same time, show how the translation vector depends on the frame in which it is being seen:

$\Large{\begin{array}{l}\,{\bf{x}}(t)\,\,\, = \,\,\,{R^\dagger }(t)\,\left[ {{\bf{x'}}(t)\,\, - \,\,{\bf{a}}(t)} \right]\,\,\, = \,\,\,{R^\dagger }(t)\,{\bf{x'}}(t)\,\, + \,\,{\bf{b}}(t)\\\\{\rm{where}}\,\,\,\,~~~~~~\,\,\,\,\,\,{\bf{b}}(t)\,\,\, = \,\,\, - \,\,{R^\dagger }(t)\,{\bf{a}}(t)\,\,\,~~~~~~\,\,\,\,\,\,\,{\rm{or}}\,\,\,\,\,\,\,~~~~~~\,\,\,{\bf{a}}(t)\,\,\, = \,\,\, - \,\,R(t)\,{\bf{b}}(t)\end{array}}$

To get velocities and accelerations, we need to take time derivatives. For the (fixed plane) rotor, suppressing the time argument:

$\Large{\dot R\,\,\, = \,\,\,\frac{{dR}}{{dt}}\,\,\, = \,\,\,{\bf{i}}\frac{{d\theta }}{{dt}}{e^{{\bf{i}}\theta }} = \,\,\,{\bf{i}}\dot \theta R\,\,\, = \,\,\,{\rm{W}}R\,\,\, = \,\,\,R{\rm{W}}}$

Since we are restricting our analysis to planar motion,
R and W commute with each other (and all vectors in the plane anticommute with i). Now we can calculate the derivatives of the first equation above:

$\Large{\begin{array}{l}{\bf{\dot x'}}\,\,\, = \,\,\,R{\bf{\dot x}}\,\, + \,\,\dot R{\bf{x}}\,\, + \,\,{\bf{\dot a}}\,\,\, = \,\,\,R{\bf{\dot x}}\,\, + \,\,R{\rm{W}}{\bf{x}}\,\, + \,\,{\bf{\dot a}}\,\,\, = \,\,\,R\,\left( {{\bf{\dot x}}\,\, + \,\,{\rm{W}}{\bf{x}}} \right)\,\, + \,\,{\bf{\dot a}}\\\\{\bf{\ddot x'}}\,\,\, = \,\,\,\left( {R{\bf{\ddot x}}\,\, + \,\,\dot R{\bf{\dot x}}} \right)\,\, + \,\,\left( {R{\rm{W}}{\bf{\dot x}}\,\, + \,\,R{\rm{\dot W}}{\bf{x}}\,\, + \,\,\dot R{\rm{W}}{\bf{x}}} \right)\,\, + \,\,{\bf{\ddot a}}\\\,\,\,\,~~\,\,\, = \,\,\,R{\bf{\ddot x}}\,\, + \,\,R{\rm{W}}{\bf{\dot x}}\,\, + \,\,R{\rm{W}}{\bf{\dot x}}\,\, + \,\,R{\rm{\dot W}}{\bf{x}}\,\, + \,\,R{\rm{WW}}{\bf{x}}\,\, + \,\,{\bf{\ddot a}}\\\\\,\,\,\,~~\,\,\, = \,\,\,R\,\left[ {{\bf{\ddot x}}\,\, + \,\,2{\rm{W}}{\bf{\dot x}}\,\, + \,\,\left( {{\rm{\dot W}}\,{\rm{ + }}\,{{\rm{W}}^2}} \right){\bf{x}}} \right]\,\, + \,\,{\bf{\ddot a}}\end{array}}$

Example: Solid cylinder rolling (from rest & without slipping) down an inclined plane.

Our
purpose here is check out the equations above for a motion which is nontrivial (where neither W nor dW/dt are zero), yet simple enough to find known expressions for x(t), R(t), and a(t).

Let
M = cylinder mass. Represent the cylinder radius by ρ so we don't get it confused with our rotor R. Let  Ic = (1/2)Mρ2  be the moment of inertia about the cylinder central axis. Then, by the parallel axis theorem,  Ie = (3/2)Mρ2  will be the moment of inertia about an axis on the edge of the cylinder parallel to the central axis. We'll let the unprimed frame be attached to the cylinder at its center of mass, so in that frame the cylinder is at rest, although we may imagine a bug crawling along the cylinder face. The primed frame will be fixed with the inclined plane. In that frame, the cylinder will be rolling, so let θ represent the angle through which the cylinder has rolled. At t=0, we'll let the two frames coincide (not necessary, just convenient). We might imagine the radius along the y-axis painted so that we can keep track of the rolling angle. Let the angle of the incline be α. There are various setups we could use, but here's a picture of the one we'll try:

R(t) and a(t) describe the displacement of the unprimed frame relative to the primed frame. To find these functions, we need to solve for the motion of the cylinder. Even if not explicitly stated, we are usually assuming when working with such examples that we are solving the problem with respect to a frame fixed with the incline. We can use Newton's 2nd Law, torque equations, and/or energy conservation, but our typical goal is to find θ(t) so that we can calculate velocity and acceleration and test numbers in a lab experiment. For the simplest solution, use the torque equation about the cylinder/incline contact point:

$\Large{\begin{array}{l}{\Gamma _{{\rm{contact}}}}\,\,\, = \,\,\,\rho \left( {Mg\sin \alpha } \right)\,\,\, = \,\,\,{I_e}\,\ddot \theta \,\,\, = \,\,\,\frac{3}{2}\,M{\rho ^2}\,\ddot \theta \\\\\dot \theta (t)\,\,\, = \,\,\,\frac{{2g\sin \alpha }}{{3\rho }}\,\,t\,\,\,\,\,\,\,\,\,\,~~~~~~~~~~\,\,\,\,\,\,\,\,\,\,\theta (t)\,\,\, = \,\,\,\frac{{g\sin \alpha }}{{3\rho }}\,\,{t^2}\end{array}}$

We've assumed the cylinder will roll down the incline without slipping. In order for that to happen, the coefficient of static friction must be larger than a certain minimum value. It isn't necessary to know this minimum here, but it is often asked of students, so here we'll use Newton's 2nd Law to calculate easily enough:

$\Large{\begin{array}{l}{\rm{Down ~ the ~ plane}}:\,\,\,\,\,\,M\,\ddot s\,\,\, = \,\,\,Mg\,\,\sin \alpha \,\, - \,\,{f_{static}}\\\\\,\,\,\,\,\,\,\,\,\,{f_{static}}\,\,\, = \,\,\,Mg\,\,\sin \alpha \,\, - \,\,M\rho \,\ddot \theta \,\,\, = \,\,\,Mg\,\,\sin \alpha \,\, - \,\,\frac{2}{3}\,Mg\,\,\sin \alpha \\\,\,\,~~~~~~\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, = \,\,\,\frac{1}{3}\,Mg\,\,\sin \alpha \,\,\, \le \,\,\,{\mu _{static}}\,{f_{normal}}\,\,\, = \,\,\,{\mu _{static}}\,Mg\,\,\cos \alpha \\\\\\\,\,\,\,\,\,\,\,\,\,{\mu _{static}}\,\,\, \ge \,\,\,\frac{1}{3}\,\,\tan \alpha \end{array}}$

The formula for θ(t) gives us the rotor and translation vector as functions of time:

$\Large{\begin{array}{l}R(t)\,\,\, = \,\,\,{e^{{\bf{i}}\theta (t)}}\,\,\, = \,\,\,{e^{{\bf{i}}{t^2}g\sin \alpha /(3\rho )}}\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\dot R(t)\,\,\, = \,\,\,R(t)\,{\rm{W}}(t)\\\\{\rm{W}}(t)\,\,\, = \,\,\,{\bf{i}}\dot \theta (t)\,\,\, = \,\,\,\frac{{2gt\sin \alpha }}{{3\rho }}\,\,{\bf{i}}\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,{\rm{\dot W}}(t)\,\,\, = \,\,\,\frac{{2g\sin \alpha }}{{3\rho }}\,\,{\bf{i}}\\\\\\{\bf{a}}(t)\,\,\, = \,\,\,{\bf{\hat a}}\rho \theta (t)\,\,\, = \,\,\,{\bf{\hat g}}{e^{{\bf{i}}(\pi /2\, - \,\alpha )}}\,\,\frac{{g\sin \alpha }}{3}\,\,{t^2}\,\,\, = \,\,\,{\bf{gi}}\,\,{e^{ - {\bf{i}}\alpha }}\,{t^2}\sin \alpha /3\\\\\,\,\,\,~~~~\,\,\,\,\,\,\, = \,\,\,\frac{1}{3}\,{\bf{g}}\,{t^2}\,{e^{ - {\bf{i}}\alpha }}\,\,\frac{{{e^{{\bf{i}}\alpha }} - {e^{ - {\bf{i}}\alpha }}}}{2}\,\,\, = \,\,\,\frac{1}{6}\,{\bf{g}}\,{t^2}\,\left( {1 - {e^{ - {\bf{i}}2\alpha }}} \right)\,\,\, = \,\,\,\frac{1}{6}\,{\bf{g}}\,{t^2}\,\left[ {1 - \,\,\cos (2\alpha )\,\, + \,\,{\bf{i}}\,\,\sin (2\alpha )} \right]\end{array}}$

As we see, there are various ways to write a(t), but we know it just points down the incline. We're picking i to be a CCW unit bivector, so gi rotates g CCW by 90 degrees. Multiplying on the left by R(t) rotates vectors CW (as when the cylinder rolls down the incline). We can make the last equation look simpler by defining a constant vector pointing down the incline:

$\Large{\begin{array}{l}{\rm{Vector}}\,\,{\rm{down}}\,\,{\rm{the}}\,\,{\rm{incline}}\,\,\, \equiv \,\,\,{\bf{d}}\,\,\, = \,\,\,{\bf{\hat g}}\,{\bf{i}}\,{e^{ - {\bf{i}}\alpha }}\,\,\sin \alpha \,\,\, = \,\,\,{\bf{\hat d}}\,\,\sin \alpha \\\\\,\,\,\,\,\,~~~~~~~~\,\,\,\,\,\,\,\,\,\,\,\,\,\,{\bf{a}}(t)\,\,\, = \,\,\,\frac{1}{3}\,g{t^2}\,{\bf{d}}\,\,\,\,\,\,\,\,\,~~~~~~~~\,\,\,\,\,\,\,\,\,\,\,\theta (t)\,\,\, = \,\,\,\frac{{gd}}{{3\rho }}\,\,{t^2}\end{array}}$

If we know the path of any particle (attached or unattached to the rigid body) as seen in one of the frames, we can use the above transformation to calculate the path in the other frame. We'll now look at various particle paths and show the position of the particle with respect to both frames. Velocities and accelerations can be calculated, too, but our
interactive diagram below will only draw the paths to check our intuition.

Particle 1:  The center of the cylinder.

$\Large{\begin{array}{l}{\bf{x}}(t),\,\,\,{\bf{\dot x}}(t)\,\,\,{\rm{and}}\,\,\,{\bf{\ddot x}}(t)\,\,\,{\rm{are}}\,\,{\rm{all}}\,\,{\rm{zero,}}\,\,\,{\rm{so}}\\{\bf{x'}}(t)\,\,\, = \,\,\,{\bf{a}}(t)\,\,\, = \,\,\,\frac{1}{3}\,g{t^2}\,{\bf{d}}\,,\,\,~~~~~~\,\,{\bf{\dot x'}}(t)\,\,\, = \,\,\,\frac{2}{3}\,gt\,{\bf{d}}\,,\,\,~~~~~~\,\,{\bf{\ddot x'}}(t)\,\,\, = \,\,\,\frac{2}{3}\,g\,{\bf{d}}\end{array}}$

Particle 2:  A point on the edge of the cylinder, on the positive y-axis.

$\Large{\begin{array}{l}{\bf{x}}(t)\,\,\, = \,\,\,{\rm{constant}}\,\,\, = \,\,\,\rho {\bf{\hat di}}\,\,\, = \,\,\,{\bf{x}}\,,\,\,~~~~~~~~\,\,{\bf{\dot x}}(t)\,\,\, = \,\,\,0\,,\,\,~~~~~~~~\,\,{\bf{\ddot x}}(t)\,\,\, = \,\,\,0\\\\R(t)\,\,\, = \,\,\,{e^{{\bf{i}}gd{t^2}/(3\rho )}}\,,\,\,\,~~~~~\,\dot R(t)\,\,\, = \,\,\,W(t)R(t)\,,\,~~~~~\,\,\,W(t)\,\,\, = \,\,\,\frac{{2gd}}{{3\rho }}\,t\,{\bf{i}}\,,\,\,~~~~~\,\,\dot W(t)\,\,\,\, = \,\,\,\,\frac{{W(t)}}{t}\\{\bf{a}}(t)\,\,\, = \,\,\,\frac{1}{3}\,g{t^2}\,{\bf{d}}\,\,\, = \,\,\,\frac{{gd}}{{3\rho }}\,{t^2}\,{\bf{i}}\,{\bf{x}}\,\,\, = \,\,\,\frac{t}{2}\,\,W(t)\,{\bf{x}}\\{\bf{x'}}(t)\,\,\, = \,\,\,R(t)\,{\bf{x}}\,\, + \,\,{\bf{a}}(t)\,\,\, = \,\,\,\left[ {R(t)\,\, + \,\,\frac{t}{2}\,\,W(t)} \right]\,{\bf{x}}\,\,\, = \,\,\,\left[ {\frac{1}{3}\,g{t^2}\,\, - \,\,\frac{\rho }{d}\,\,{\bf{i}}\,{e^{{\bf{i}}gd{t^2}/(3\rho )}}} \right]\,\,{\bf{d}}\end{array}}$

If our particle position is marked with a painted dot, we expect the shape of the dot's path to be a cycloid,
traveling down the incline, at an increasing rate.

Particle 3:  A particle on the cylinder face constrained to move in Simple Harmonic Motion along the y-axis.

The painted dot now oscillates along the cylinder's y-axis with an angular frequency ω. The motion as seen in
the fixed frame of the incline should be very interesting.

$\Large{\begin{array}{l}{\bf{x}}(t)\,\,\, = \,\,\,\rho \,\cos \left( {\omega t} \right)\,{\bf{\hat di}}\,\,\, = \,\,\, - \,\frac{\rho }{d}\,{\bf{i}}\,\cos \left( {\omega t} \right)\,{\bf{d}}\\{\bf{x'}}(t)\,\,\, = \,\,\,{\bf{a}}(t)\,\, + \,\,R(t)\,{\bf{x}}(t)\,\,\, = \,\,\,\,\left[ {\frac{1}{3}\,g{t^2}\,\, - \,\,\frac{\rho }{d}\,\,{\bf{i}}\,\cos \left( {\omega t} \right)\,{e^{{\bf{i}}gd{t^2}/(3\rho )}}} \right]\,\,{\bf{d}}\end{array}}$

Finally, here's an interactive diagram demonstrating the three example particles:

We have
sliders for varying the incline angle (α), the radius of the cylinder (ρ), the time (t) along the path, and the angular frequency (ω) for particle 3 (P3). P3 is an oscillating (on the cylinder face) red dot and the red curve is its locus of positions along the path. That locus may be even stranger that anticipated, since some sort of regularity may have been guessed, but the accelerating cylinder defeats any expected periodic motion. And, while the locus of the blue dot representing particle 2 (P2) is indeed the expected cycloid, notice when we activate trace dots, they spread further apart down the incline as the cylinder speeds up.

Before even rolling the cylinder, try moving the various
sliders to see the locus of P3 change shape.

At any time,
do a mouse click in the top right hand corner of the diagram to reset the diagram to starting defaults (the easiest way to erase old particle traces and clean up the diagram). The reset button is always up there, even though it hides sometimes.

Here is a summary of the formulas used in this construction. They are just taken from the equations above. The base of the incline is taken to be 15 units long. There is the small extra complication of having to use the geometry window's coordinate system, so the point O(t) at the center of the cylinder is located (at t=0) by adding a vertical vector (of length equal to the peak of the incline) to the radius vector from the cylinder contact point to the point O. Also, this geometry program isn't capable of using bivectors, so we write our equations in terms of vectors. Once we define our unit vector down the incline and one perpendicular to the incline, we're off and running (notice those unit vectors are shown at the origin of the screen axes and follow the incline tilt as you change its angle):

$\Large{\begin{array}{l}\alpha ,\,\,\,\,\rho,\,\,\,\,\omega,\,\,\,{\rm{and}}\,\,\,t \,\,\,{\rm{are }}~{\rm{determined }}~{\rm{by}}~{\rm{ 4}}~{\rm{ sliders.}}\\g\,\,\, \equiv \,\,\,9.8\,{\rm{,}}\,\,\,\,\,\,~~~~~~\,\,\,\,{\rm{incline ~ base}}\,\,\, \equiv \,\,\,15\,\\c\,\,\, = \,\,\,{\rm{height}}\,\,{\rm{of}}\,\,{\rm{incline}}\,\,\, = \,\,\,15\,\,\tan (\alpha )\\\\{\bf{\hat d}}\,\,\, = \,\,\,{\bf{\hat g}}\,{\bf{i}}\,{e^{ - {\bf{i}}\alpha }}\,\, = \,\,\,{\bf{\hat g}}\,{\bf{i}}\,\left[ {\cos (\alpha )\,\, - \,\,{\bf{i}}\,\sin (\alpha )} \right]\,\,\, = \,\,\,\left\langle {\cos (\alpha )\,,\,\,\, - \,\,\sin (\alpha )} \right\rangle \\\\{\bf{\hat e}}\,\,\, = \,\,\,{\bf{\hat d}}\,{\bf{i}}\,\,\, = \,\,\,\left\langle {\sin (\alpha )\,,\,\,\,\cos (\alpha )} \right\rangle \,\,\,\,~~~~~~\,\,\,\,\left\{ {\,{\bf{\hat d}} \cdot {\bf{\hat e}}\,\,\, = \,\,\,0\,} \right\}\\\\\theta (t)\,\,\, = \,\,\,g\,{t^2}\,\sin (\alpha )\,\,/\,\,\left( {3\rho } \right)\\\\O(t)\,\,\, = \,\,\,\left\langle {0,\,\,c} \right\rangle \,\, + \,\,\rho \,{\bf{\hat e}}\,\, + \,\,{\bf{\hat d}}\,g\,{t^2}\,\sin (\alpha )\,\,/\,\,3\\\\P2(t)\,\,\, = \,\,\,O(t)\,\, - \,\,\rho \,{\bf{i}}\,{e^{{\bf{i}}\theta (t)}}\,{\bf{\hat d}}\,\,\, = \,\,\,O(t)\,\, + \,\,{\bf{\hat d}}\,\rho \,\sin \left( {\theta (t)} \right)\,\, + \,\,{\bf{\hat e}}\,\rho \,\cos \left( {\theta (t)} \right)\\\\P3(t)\,\,\, = \,\,\,O(t)\,\, + \,\,\left[ {P2(t)\,\, - \,\,O(t)} \right]\,\,\cos \left( {\omega t} \right)\end{array}}$