Constructing Equivalent Descriptions of a Rotation

 

We will consider a situation where a vector, v, is rotated about an axis of rotation, , through an angle of  to generate thevector .  If the anglebetween the axis of rotation and the rotating vector is a right angle than itis most efficient to use the definition of a quaternion to compute the value ofthe rotated vector.  If the anglebetween the axis of rotation and the rotating vector is not a right angle, thena half angle formulation is required to compute the correct value. It mayinitially seem that these are two very different processes.  If the tensor of the quaternion isunity, that is, the quaternion is a unit quaternion, then the two ways ofcomputing the resultant are easily related in terms of each other.  If  is perpendicularto , then the expressions are as follows.

 

 

The vector v isrotated through an angle about an axis of rotation.  It may also change length at the same time.

If  is notperpendicular to , then more calculations are required.  We define the unit vector in thedirection of , , and take the ratio of it to a unit vector in the directionof the axis of rotation, , to obtain a quaternion that expresses the rotation of theaxis of rotation into the original vector, .  The angle ofthat quaternion is  and we canexpress the sides of the triangle that has  as itshypotenuse and a base, , aligned with the axis of rotation.  The other side, , is perpendicular to the axis of rotation and it is thevector that is entered into the definition of a quaternion to obtain the vectorin the direction of the transformed vector, .  The derivationgoes as follows.

If we have the vector, , perpendicular to the axis of rotation, then is  and  is zero.  It follows that the full angleformulation gives the same result as the half angle formulation, which wasstated above.  Otherwise the  must be replacedby and the result added to the offset translation, .

The full angle version applies only when the angle betweenthe axis of rotation and the rotating vector is 90¡.  It is conceptually simpler in that it is rotation in aplane.  The half-angle version issuitable for describing any rotation. Consequently, if you do not know that the angle between the rotatingvector and the axis of rotation is a right angle, it is always best to use thehalf angle format.  As indicatedabove, this simple equivalence applies only when the tensor is unity.

If the tensor of the quaternion is not unity, then thesituation is more complex and the two processes yield fundamentally differentresults. However, each outcome can be converted into the other with littledifficulty.  In the next fewparagraphs we will consider how.

Consider the two expressions.  The first is based on the definition of a quaternion.

The second is based on the half angle formula thatapplies when the rotating vector is not perpendicular to the axis of rotation.

The second tensor  is necessarybecause the half angle quaternions, which are computed from the full anglequaternion, cancel each other so that the expression inside the square bracketsis effectively multiplication by a unit quaternion.  The scalar, , is a rescaling of the vector v, a change in its length.  As such, it serves the same role as the tensor in the firstexpression, which also changes the length of the rotating vector.  The expression in the square bracketsgives the new direction of the rotating vector and the tensor gives it its newlength.

Movements with changes in scale

We need to consider these movements in a bit moredetail.  As far as I am aware,there is no terminology for the two movements expressed in the two equationsabove, so, I will introduce names for each.  The intent is to simplify description by settling uponsimple terms for expressing each action.

Paradoxically, there is a well established name for asimilar but subtly more complex movement. When an object rotates about an axis as it advances in the direction ofthe axis, it is said to be making a screwmotion (Weisstein 2003).  This type of movement may also be called a twist, but thatterm has a very definite special meaning in differential geometry (Weisstein 2003).  The force couple that produces a screw movement is called a wrench (Beer and Johnston Jr1990).  Such movements are well studied inmechanics, although they generally do not make it into elementary textbooks,since they are the results of systems of forces.

 

 

A screwis a combined rotation and translation with respect to the same axis

 

The above figure illustrates a screw.  A point revolves about the axis , through an angular excursion of while traveling parallel with a distance of , which is a linear function of that is equal to zero when  is equal tozero.  If the location of the pointat the start of the movement is  and the locationat the end of the movement is , then the movement is expressed as follows.

As used here, a screw can be oblique when the direction ofthe translation is not parallel with the axis of rotation.  When the direction of the translationis parallel with the axis of rotation, then the screw will be an orthogonalscrew, because the translation is perpendicular to the plane of therotation.  When unmodified, a screwwill be taken to mean an orthogonal screw.  All the screws considered here will be orthogonal screws.  Wrenches are always, by definition,orthogonal.  The screw theoremproves that all rigid body movements can be expressed as orthogonal screws (Weisstein 2003).

The second type of movement, the one described by the fullangle formulation with a non-unity tensor, will be called a cast, as in casting seed away from oneself.  This movement might also be called atwirl (Weisstein 2003).  It is a movement that is confined to a plane in which therotation vector changes length as it rotates.  A cast is a unit cast when the rotating vector does notchange length, that is, when its tensor is unity.  If the tensor of a cast is not unity, that is when T = 1.0 + kf, then the cast may be minifying (k < 0.0) or magnifying (k > 1.0). 

 

 

A castis a planar rotation about an axis with a concurrent change in scale

An orthogonal screw is a unit cast plus a translation in thedirection of the axis of rotation. Consequently, a screw is a more complex movement than a cast.  The expression for a cast is as follows.

The tensor Tcis the magnification or minification factor for the cast.  It operates in a different manner thanthe tensor for the screw, which translates the rotating vector.

The third type of movement, the one where the half angleformulation is used, will be called a coil,as it is a spiraling movement.  Itis a movement in which the rotating vector changes length as it rotates.  It normally causes the rotating vectorto move out of any plane of rotation that it occupies during an instant of themovement.  The following figureillustrates the simplest example, where the angle between the axis of rotationand the rotating vector is constant. A coil is a unit cast when its tensor is unity.

The expression for a constant coil is given by the followingexpression.

The tensor  is the relativelength of the rotating vector, as it is in a cast, but, because we aremultiplying a conical rotation, the effect is different.  The rotating vector will spiral out orin as it moves relative to the axis of rotation.  A coil looks rather like a screw, but one can never be aninstance of the other, except when  and , in which both are also a unit cast and all three arelacking the features that make them special.

 

A coilis a conical rotation about an axis with a concurrent change in scale

Conversions Between Modes of Expression

Clearly, the expressions for screws and casts are quitesimilar in that both are written in terms of full angles.  It is also clear that one can readilymove between full angle and half angle expressions when the tensors are equalto one.  It may not be immediatelyapparent that the half angle version of a coil can also always be written as afunction of a full angle rotation. However, every unitary conical rotation can be viewed as a planarrotation, with the plane perpendicular to the axis of rotation and through theterminus of the rotating vector. That is the starting place for the following discussion. 

One simply has to compute the location of the plane, adistance  in the directionof the unit vector of the rotation quaternion, , from the origin of v.  The plane is perpendicular to the axisof rotation, , and the distance between the axis of rotation and therotating vectorÕs terminus in that plane is . 

It turns out to be straightforward to compute those twovectors.  In words, one computesthe quaternion () that rotates the axis of rotation () into the rotating vector (v).Then, the axis of rotation is multiplied by that quaternion to obtain thelocation of the plane of the axis of rotation that contains the terminus of therotating vector, , and the distance from the axis of rotation to the terminusof the rotating vector, .

 

The components of the rotating vector relative to theaxis of rotation may be readily computed from the ratio of the two vectors.

The ratio of the rotating vector to the axis of rotation isthe quaternion , which has an angle  and a tensor of .  The vector of () is perpendicular to both vand .

Note that  is definedslightly different than it was above. This relationship would not hold with that definition of .

Coil in Terms of Full Angle Expressions of Rotation

The last equation is the basis for the transformation from ahalf angle expression to a full angle expression.  If the original expression was in terms of the half angleexpression, then we can now write it in terms of the full angle of rotation.

If the tensor in the half-angle formulation is not equal to1.0 then the rotating vector will trace a cone with a spiral edge.  That is to say, the movement will be aconstant coil.  In the full angleformulation the rotation does not remain in a single plane.  The plane that contains the terminus atthe end of the rotation will be a distance from the center of rotation for the conical rotation.

Cast in Terms of Half Angle Expressions of Rotation

The origin of the rotation can be anywhere on the axis ofrotation.  Let us pick the point  from the planeof rotation on the axis of rotation .  The initialvalue of the rotating vector is .  We can rescalethe  component firstand then rotate the rescaled vector or rotate the vector and then rescale.

 

The  vector is notchanged by the operation, therefore we can readily compute the new value of therotated vector.

So, it turns out that the location of the center ofrotation is irrelevant except as an offset along the axis of rotation.

This can be expressed in the half angle format as follows.

The expression of a screw in half angle format isaccomplished by simply adding the translation term to the last equation.

Conclusions

Clearly, and  are ratherdifferent movements if the tensor is not unity.  However, each can be expressed in the other format withcomparatively simple adjustments.

The full angle expression is more intuitive, but it isgenerally easier to use the half angle expression in all situations that do notdepend upon the definition of a quaternion as a rotation of one vector intoanother.  On the other hand, therewill be problems in which we need to compute the plane of the rotation and thedistance from the axis of rotation to the rotating point and we will return tothis imagery.

Computing the Equivalent Rotation for a Cast

A cast can always be reduced to a planar rotation by findinga center of rotation that is equidistant from the two locations.  Sometimes all one is given is thelocations at the beginning of the cast and at the end.  This section considers how one finds acenter of rotation given a cast. We start with two locations,  and , which are the endpoints of a cast.  That means that they have a commonorigin, O.  We compute the midpoint between the twolocations.

The ratio of the vector to the midpoint to the negative ofone of the location vectors gives the angle between them.  The angle is the angle of thatquaternion.

 

Three examples of casts and the construction of thecenter of rotation for the unitary rotation that is equivalent to the cast.

The cast is in a plane and we can compute the quaternion ofthat plane by taking the ratio of the two vectors of the cast or the quaternionof the ratio that was just computed. We will use the unit quaternion for the ratio and let the angle betweenthe vectors, , be a variable.

The reason for computing that quaternion is it allows us toreadily compute the vector that splits the angular excursion of the equivalentrotation, a vector that we will call the spine, .  The directionof the spine is the quaternion of the plane of the rotation with an angularexcursion of 90¡ times the direction of the vector to the midpoint and thelength of the spine is the length of the vector to the midpoint times thetangent of the angle between the vector to the midpoint and the rotatingvector.  Putting those two factstogether, we obtain the vector of the spine.

Now we can sum three vectors to obtain the center ofrotation.  The starting vector ofthe cast plus the vector to the midpoint between the two cast vectors plus thespine vector will bring one to the center of rotation for the equivalentunitary rotation or cast.  Such acast may also be called the isosceles cast, because the two rotating vectorsare of equal length, the angle between them is , and the two base angles are equal.

 

With a unitary or isosceles cast, the center of rotationwill be the origin of the cast. For non-unitary casts, the center of rotation lies on a line coincidentwith the starting vector.  Thelocation depends complexly upon the details of the cast, but the location maybe both in the direction of the starting vector or in the oppositedirection.  The location isdependent upon the direction of the difference between the two cast vectorsrelative to the starting vector. If the direction of the difference is perpendicular to the startingvector, then the center of rotation is at plus or minus infinity.  If it is tilted so as to form an acuteangle with the starting vector, then the center of rotation will lie on thesame side of the terminus at the origin of the starting vector and if it isobtuse then the center of rotation lies beyond the terminus of the startingvector.  Which direction appliesdepends on the magnitude of the angular excursion of the cast and the extent towhich it is magnifying or minifying. In fact, there are two solutions to the unitary rotation that isequivalent to a cast.  They aremirror images across a line coincident with the difference between the two castvectors.

The Loci of Casts

Given a starting location and a finishing location and anangular excursion that carries the first into the second, one has a wideselection of possible centers of rotation for a cast.  In fact, it is not possible to determine a single solutionto that situation.  Such isapparent if you consider a simple arrangement. Take two stick-pins and stickthem into a surface at some distance from each other.  Now, take a plastic triangle and lay it on the surface sothat two edges are against the shafts of the pins.  The angle of the triangle between the pins remains the same,but you can move the triangle while keeping it in contact with both pins sothat the apex traces out a curve that starts with it being near one pin, to itbeing equidistant from both pins, to it being close to the other pin.  That is the set of loci that can becenters of rotation for casts that have an angular excursion to equal to theangle of the triangle.  If you trydifferent angles on the triangle, you see that the paths traced are differentfor different angles.  Smallerangles trace larger excursions.

 

 

Let us first consider the shapes of the curves that tracethe loci of possible casts with a particular angular excursion.  Assume a unit distance between the twolocations, , to simplify the calculations and since we are currentlyinterested in the shapes of the curves, let the difference (x) be horizontal.  The last thing that needs to bespecified is the angular excursion of the cast, which will be designated by .  We let themagnitudes of the other two angles vary between the maximal and minimalpossible values.  It is sufficientto set one, for instance , because the sum of all the angles must be 180¡ or  radians ().

The problem is to find the location of the center ofrotation for a cast that moves  into  through anangular excursion of .  We begin bynoting that a perpendicular to the difference that passes through the center ofrotation node, , divides the cast into two right triangles with a commonside, y.  The difference, x,is divided into two segments, on the side of the angle and  on the side ofthe angle.  The length ofthe perpendicular, y, gives the vertical coordinate and either of the basesegments will give a horizontal coordinate.

We build on the fact that the two right triangles have acommon side.  That means that it ispossible to write an equation that involves four of the relevant variables.

Both y and x are scaled by , so for small angular excursions the curves are larger, butthe shapes are the same because the ratio of yto x is .  As the angularexcursion, , increases, the curves are defined for a smaller range ofvalues for .  For smallvalues of , the curves is roughly circular, as the following figure(A).

We can now go through and systematically compute the loci ofthe centers of rotation for a wide range of values of  and .  The result isillustrated in the following figure (B). The solutions are horizontally and vertically symmetrical because large corresponds to small and vice versa and positive rotation is symmetrical with negative rotation.   However, since these curves arehorizontally and vertically symmetrical, we can concentrate upon one quadrantwhen considering details.

A.            B.    

 

 

C.           D.

 

C. For small values of the angular excursion the lociof the centers of rotation are much more widely distributed than for largerangular excursions.  The values ofthe base angle are equal for the most extreme left end of each curve.  For this calculation, the differencebetween the locations of the two arms of the cast is set to 1.0.  All measurements are relative to thatdifference. 

D.  Themovement curves of centers of rotation for casts with excursions greater thanor equal to 90¡.

In the next figure (A), the curves are plotted for instanceswhere the angular excursion is 5¡ to 170¡.  The smaller the angular excursion is, the wider the solutioncurve.  If you think of ourphysical model, then it is apparent that this should be the case.  The curves for are plotted separately (B) to illustrate them more clearly.

The isosceles solutions occur in the midline, when thedisplacement in the direction of the difference between  and  is 0.5.  That is also when the distance from thedifference vector is maximal.  Thatmaximal distance for isosceles casts is clearly a function of the angle of thecast.  The following figure showsthe shape of the curve for the distance from the difference to the center ofrotation for isosceles casts.

 

The distance from the difference between the locationto the center of rotation for the isosceles cast, as a function of the angularexcursion between the locations.

The center of rotation retreats indefinitely as the angularexcursion approaches 0¡.  It lieson the difference when the angular excursion is 180¡.  For small values of  the distance tothe apex of the isosceles cast approximately doubles with each halving of .

If we mark the locations of the centers for a series ofangles between the starting vector and the difference, the result shows thatthe points are approximately evenly distributed along the curve, as is shownfor the  curve in thefollowing figure.

Note that the point for the isosceles cast (90¡) is thefurthest from the difference vector.

The Cast Center of Rotation Falls on a Line Coincident With the StartingVector

When computing the equivalent isosceles cast for anarbitrary, but known , cast it was apparent that the centers of rotation wereon the same line that was coincident with the starting vector.  That raises the possibility that thereis a logical necessity of that relationship.  In this section, we will address that point in preparationfor a construction of the centers of rotation for an unknown cast.

 

 

There are two patterns that may occur, depending upon theangle between the difference and the starting vector.  If the angle is less than 90¡, then the construction is likethat shown above on the left, and, if it is more than 90¡, then it is like theconstruction on the right.  Similararguments apply for both, but it is easier to take them as separate problems.

Consider the configuration when the angle is less than90¡.  As argued above, thedifference between and b is .  We constructthe perpendicular to the difference, , that gives the isosceles cast assuming an angle between thestarting vector and the difference of.  That center ofrotation lies at .  The vectorfrom  to will be called .  We also foundin a previous section that there is a center of rotation for a non-isoscelescast that has a center of rotation that lies at , which was computed by taking the perpendicular to thedifference that passes through , y.  The triangles formed by each of thesecalculations are similar in having all three angles equal and there is analignment of the bases of the two triangles as parts of the difference betweenthe starting and ending vectors. Therefore, the side that is not perpendicular to the difference musthave the same slope and the apex that side forms with the difference is thesame point in both cases, namely the terminus of .  Consequently,the sloped sides of the triangles must be coincident with each other.

The second configuration is analyzed in much the same manner,as is indicated by using much the same labels in both figures.  The main difference is that we need tointroduce a new angle, the complement of , .  Theperpendiculars to the difference are constructed in the same manner, but thebase angle is  in bothcases.  The triangles are similarand the sloping sides are in opposite directions from the common point at theterminus of the starting vector. It follows that both  and  are on the sameline.

Now we can consider a second way to compute the location of , which assumes that it lies on the line from the isoscelescast center to the terminus of the starting vector, which we will do in thenext section.  However, let us noteagain that the symmetries of the geometry mean that there are four solutions tothe problem of finding the cast center. The other three may be found by reflecting the computed solution acrossthe difference vector, across the spine of the isosceles cast or across both insuccession.  The other solutionscan be computed directly by similar methods that use the finishing vector asthe reference or reflecting the isosceles solution across the differencevector.

Computing the Center of Rotation for a Non-isosceles Cast

Usually when one needs to compute the center of rotation fora cast it is because the movement of an anatomical object has changed both thelocation and the orientation of the object.  The ratio of the orientations tells one the angularexcursion of the movement, , and the locations before and after the movement tells onethe end points of the movement, .  We also know theorientation of the plane that contains the cast.  The ratio of the orientations is a quaternion.  The angle of that quaternion is and its unit vector is .  Theorientation of the plane of the cast is .  These are theparameters of the solution for the center of the cast.

 

 

Construction for determining the center of rotation fora cast.  The inset shows the castin isolation.

The first steps of the calculation are similar to those thatwe used for the center of the unitary cast, with the difference that the originof the location vectors is not necessarily the center of the cast.  We start with the beginning and endinglocations and compute the difference between them.  Then we take half the difference, .  We need topick the angle between the difference and the starting vector, .  We do not know at this point,but we can specify the angle that it must form with respect to thedifference.  That is the principalvariable in computing the cast, the one that we choose.

We have to compute the quaternion of the plane of the cast,which is the unit quaternion of the ratio of the two orientations, , where  is a freevariable.  That quaternion, whichwill be called the turning quaternion, is useful for rotating vectors in theplane of the cast.  The vector ofthe turning quaternion, , the turning vector, is perpendicular to the plane of thecast. 

It may be found that a single plane of the ratio of theorientations cannot contain both the starting and finishing locations.  That is there is no rotation about anaxis of rotation in the direction of  that will carry into .  In that case,we need to compute the offset translation of the finishing location relative tothat plane which contains the starting location and subtract that offset fromthe finishing location to obtain a finishing location that does lie in theplane of the rotation.  Sincetranslation does not change orientation such an offset is perfectly acceptable,especially since there is not way to obtain the observed movement with a singlerotation.

The offset is expeditiously computed by rotating the entirestructure so that the plane of the cast in coincident with one of the cardinalplanes.  Let that reference planebe the i,j-plane. We compute the rotation that rotates the turning vector into aperpendicular to the reference plane, the quaternion .  The structureis translated so that the terminus of the starting vector is at the origin ofthe system and the translated terminus of the finishing vector is rotated by .  That yields anew location that may have a component in the k direction. The k component will bethe offset from the plane of the cast. That offset, , is rotated back into the original orientation andsubtracted from the original value of  to yield a newvalue for the finishing vector, .  Thecalculation is now performed with  replacing .  The offsetwill have to be added back when the calculations are completed.

With this information, it is possible to construct the spineand determine the location of the center of rotation for a unitary rotation,just was done above.

We can now compute a unit vector in the direction thatconnects  to , which we will call a.  The center of rotation for the castlies along a line in that direction through .  Also, we cancompute a unit vector in the direction that connects the location  with the centerof rotation for the cast, which we will call b. 

The center of rotation must also lie on the line in thatdirection.  Consequently, theintersection of the two lines will be the location of the center of rotationfor the cast.

We can solve the equation for x and/or yby resolving it into its components in the three cardinal directions.

We can see that this is true because the first line issimply a statement that traversing the three sides of a triangle brings you backto where you started.

We can solve for xand y.  Only one is necessary, but both are readily computed.

 

If the center of rotation is , then the starting vector is  and thefinishing vector is , the angular excursion is  and the tensoris the ratio of the magnitude of the finishing vector to the magnitude of thestarting vector.

Consequently, the cast may be written as follows.

And the full movement is that plus the offsettranslation.

It should be noted that there are two solutions for eachvalue of , which are mirror reflections across a line coincident withthe difference between the two locations. Usually one or the other solution makes more anatomical sense than theother.

 

Computing the Center of Rotation for a Cast

With only one measurement of a rotatory movement, it is notpossible to determine a unique value for the center of rotation for acast.  However, given twomeasurements, one can compute a unique center of rotation.  Each measurement gives a curve like oneof the ones illustrated above, but two measurements give two curves that willnormally be tilted relative to each other and different magnitudes so therewill be intersections between the curves and the intersections will be the lociof the center of rotation consistent with the two measurements.  To illustrate this we need to dispensewith the normalization that we have used here and get into the nitty-gritty ofa full fledged calculation in three dimensions.  To do that, we need to couch the problem in terms of quaternions,once more.

The center of rotation for an equivalent unitary rotation,the first parameter that we calculated above, is clearly not the only center ofrotation for a cast.  There aretimes when it may be sufficient, but most times one wishes to determine aphysically appropriate center of rotation for a given cast.  In anatomical situations the movementsappear to rotate about a particular axis and while that axis may shift duringthe rotation it usually stays within reasonable bounds.  It turns out that we need two samplesof the movement to determine an appropriate axis of rotation.

 In the lastsection we found that there is not a single unique solution for any singlemeasurement of the rotation.  Forany angular excursion, there is an infinite set of centers that will give acast for that particular angular excursion and pair of end points. However,given two measurements, it is possible to find a unique cast that satisfiesboth measurements.  The solution isbound to be complex because the solution curves change with both angularexcursion and the difference between the endpoints. Increasing the angularexcursion makes the curves converge towards the difference, but increasing thedifference makes them larger.  Inaddition, a rotation will usually cause the difference between the endpoints torotate in space, which will cause the solution curves to rotate as well.  It is because of all of these factorsthat we would expect the solution curves of successive rotation states tointersect.  We will now address thecalculation of the solution curves for rotations in three-dimensions.

Usually when one needs to compute the center of rotation fora cast it is because the movement of an anatomical object has changed both itslocation and its orientation.  Theratio of the orientations tells one the angular excursion of the movement, , and the locations before and after the movement tells onethe end points of the movement, . 

We also know the orientation of the plane that contains thecast.  The ratio of theorientations is always a quaternion. The angle of that quaternion is and its unit vector is .  Theorientation of the plane of the cast is .  That is,  is normal to theplane that contains the cast.  Thatmeans that we can use  to rotatevectors in the plane of the cast, which is something that we are going to wantto do.  It also provides a handlefor rotating the plane itself, which we will also want to do in the followingderivation of the center of rotation for a pair of casts.

The first steps of the calculation are similar to those thatwe used for the center of the unitary or isosceles cast, with the differencethat the origin of the location vectors is not necessarily the center of thecast.  We start with the beginningand ending locations, , and compute the difference between them, . It is comparable to xin the last section, but it is a vector.

 

Construction for determining the center of rotation for acast.

We have to compute the quaternion of the plane of the cast,which is the unit quaternion of the ratio of the two orientations, , where  is a freevariable.  That quaternion, whichwill be called the turning quaternion, is useful for rotating vectors in theplane of the cast.  The vector ofthe turning quaternion, , the turning vector, is perpendicular to the plane of thecast. 

It may be found that a single plane of the ratio of theorientations cannot contain both the starting and finishing locations.  That is, there is no rotation about anaxis of rotation in the direction of  that will carry into .  In that case,we need to compute the offset translation of the finishing location relative tothe plane that contains the starting location and subtract that offset from thefinishing location to obtain a finishing location that does lie in the plane ofthe rotation.  Since translationdoes not change orientation such an offset is perfectly acceptable, especiallysince there is no way to obtain the observed movement with just a singlerotation.

As in the previous section, the offset is expeditiouslycomputed by rotating the entire structure so that the plane of the cast incoincident with a cardinal plane, for instance the i,j-plane.  We compute the rotation that rotatesthe turning vector into a perpendicular to the reference plane, expressed asthe quaternion .  The structureis translated so that the terminus of the starting vector is at the origin ofthe system and then translated terminus of the finishing vector is rotated by .  That yields anew final location that may have a component in the k direction. The k component is theoffset from the plane of the cast. 

That offset, , is rotated back into the original orientation andsubtracted from the original value of  to yield a newvalue for the finishing vector, .  Thecalculation is now performed with  replacing .  The offsetwill have to be added back when the calculations are completed.

We can perform all of the calculations of the center of thecast in the reference plane and then rotate the solution back into the originalcoordinates, but we will do the calculations in the original coordinates.  The calculation is somewhat morecomplex, but more general.

The next task is to compute the center of rotations for thecast , which takes  into  through anangular excursion of  in a plane withthe normal vector .  With thisinformation, it is possible to construct the perpendicular to the difference  in the plane  by rotating theunit vector of , , through 90¡ about the vector .  The resultantwill be called. 

Now, we can compute the intersection between  and and the length of the vertical perpendicular, as we did inthe last section.

The curve of solutions is given by adding the vectorfunction  to the startinglocation vector, . 

If we carry out these calculations for two samples of themovement, then the curves of the two solutions can be equated to determine theloci that give solutions for both samples.  The solution comes down to finding the values of  or that give equality.

If the center of rotation is , then the starting vector is  and the finishingvector is , the angular excursion is  and the tensoris the ratio of the magnitude of the finishing vector to the magnitude of thestarting vector.

Consequently, the cast may be written as follows.

The full movement is that plus the offset translation.

It should be noted that there are two solutions for eachvalue of , which are mirror reflections across a line coincident withthe difference between the two locations. Usually one or the other solution makes more anatomical sense than theother.

The Completeness of Cast Plus Translation Descriptions

All movements of an orientable object can be described as achange in location and a change in orientation.  Since the analysis just considered is based on those twoparameters, it can account for all rotations of an orientable object.  For any single movement, there is not aunique solution, but a set of solutions contingent upon the angle of the ratioof  to , or, more precisely, the value of .  The solutionmay also include a translation, since the final location may not be in theplane of the cast for the starting position. However one can compute the offsetthat places a final location in the plane of the cast and therefore reduce theproblem to finding the cast that carries the starting location into the final locationminus the translation.  There isalways a cast since we guaranteed that both locations are in the plane ofrotation dictated by the change in orientation.  Consequently, all rotations of orientable objects can bedescribed as a cast plus a translation. If we have two samples of the movement, then we can compute a uniquecenter of rotation that satisfies both movements.

A cast may not be the most natural description in the sensethat an anatomical object may be more naturally considered a coil or a screw orsome other compound movement, based on the anatomy.  If we have a reason to chose a particular center orrotation, then the solution is unique because we have a predeterminedrelationship between  and .

References

Beer,F. P. and E. Johnston Jr, Russell (1990). Vector Mechanics for Engineers.Statics, Dynamics. New York, McGraw-Hill Book Company.

Weisstein, E. W.(2003). Concise Encyclopedia of Mathematics. Boca Raton, Fl., CRC Press.