Rodrigues Construction Euler's Rotation Theorem
thm con QB QC QD core key update 2011-07-19

XYGraph v2.3 - web page graph   ☜☞   donate   get code


Euler's Rotation Theorem If a 3 Dimensional object has one point fixed in space, then motion of this object (multiple rotation) from start point to end point, it is possible to find one axis and one angle use one rotation to achieve the same goal.

Below, Use Rodrigues Construction to prove Euler's Rotation Theorem 2011-06-28-10-06 <a name="a055_002"> 2011-06-14-14-51 given rotation axis v=[v1,v2,v3] ---eqn.rod001 Require vector v length be one v1*v1+v2+v2+v3+v3=1 ---eqn.rod002 given rotation angle α In Rodrigues Construction HALF angle of the rotation angle is a variable. <a name="a055_003"> define quaternion q=[q0;q1,q2,q3] ---eqn.rod003 as following q0=cos(α/2) ---eqn.rod004 q1=sin(α/2)*v1 ---eqn.rod005 q2=sin(α/2)*v2 ---eqn.rod006 q3=sin(α/2)*v3 ---eqn.rod007 Under above requirement, four elements has next constraint q0*q0+q1*q1+q2*q2+q3*q3=1 ---eqn.rod008 <a name="a055_004"> Assume p,q,r all be quaternion p=[p0;p1,p2,p3] ---eqn.rod009 q=[q0;q1,q2,q3] ---eqn.rod010 r=[r0;r1,r2,r3] ---eqn.rod011 Element left to ';' is scalar, Elements right to ';' is vector. In which p0;p1,p2,p3 and q0;q1,q2,q3 are given, r0;r1,r2,r3 are unknown. <a name="a055_005"> They have next relation r=p*q ---eqn.rod012 proof scalar relation r0=p0*q0 ---eqn.rod013 -[p1,p2,p3]‧[q1,q2,q3] and vector relation [r1,r2,r3]=p0*[q1,q2,q3] ---eqn.rod014 +q0*[p1,p2,p3] +[p1,p2,p3]×[q1,q2,q3] This file all contents is to prove above two relations. eqn.rod013 is later eqn.rod115, eqn.rod014 is later eqn.rod177. <"a055_006"> eqn.rod013 and eqn.rod014 are Simon L. Altmann Rotations, Quaternions, and Double Groups ISBN 0-486-44518-6 page 160, equation (7). λ31λ21‧Λ2 ---eqn.rod015 Λ31Λ22Λ11×Λ2 ---eqn.rod016 Liu,Hsinhan use above book as textbook of this file. Altmann proof start from page 155 until page 160. He use Rodrigues Construction which is spherical geometry. 2011-06-14-15-08 stop <a name="a055_007"> 2011-06-21-11-42 start The main point of this file is use Olinde Rodrigues Construction to prove Euler's Rotation Theorem. Because Rodrigues Construction can be used to prove Euler's theorem, some author use the name Euler Rodrigues Construction or Euler Construction. But Euler's paper never use half angle. [[ <a name="a055_008"> 2011-04-12-15-27 LiuHH access this file page 14/19 say the following Euler never came near them: in particular, he never used half-angles which, as demonstrated by Rodrigues, are an essential feature of the parametrization of rotations. ]] This file tute0055.htm use the name Olinde Rodrigues Construction. <a name="a055_009"> The method to prove Euler's Rotation Theorem is to prove two successive rotation can be replaced by one rotation. The starting point and end point of two rotations are the same as one rotation. If two merge to one is true, then many rotations can merge to one easily. Since we can apply two to one multiple times until all rotations are considered. <a name="a055_010"> QBDraw has two click buttons and Please see QBDraw first. OA, OB, OC are three vectors for three rotation axis. Define R(αA)=Rotation along OA with angle α R(βB)=Rotation along OB with angle β R(γC)=Rotation along OC with angle γ Two successive rotations are R(αA)R(βB). <"a055_011"> The order of rotation is important. R(αA)R(βB), R(βB)R(αA) get different result. We must state clearly the order of the symbol "R(αA)R(βB)" <a name="a055_012"> Refer to textbook page 156. In R(αA)R(βB) First rotation is R(βB) Second rotation is R(αA) Combined result is R(αA)R(βB). <a name="a055_013"> If a one point fixed body has three rotations, assign R(γC) be first rotation, assign R(βB) be second rotation, assign R(αA) be third rotation. Combined rotation be R(αA)R(βB)R(γC) View from left to right, order is third second first, which is OK. If write the reverse order Combined rotation be R(γC)R(βB)R(αA) first second third order This is against the rule. <a name="a055_014"> The following, use R(γC) differently. Main concern is two rotations combine to one, in the following assign R(βB) be first rotation, assign R(αA) be second rotation, R(γC)=R(αA)R(βB) is combined rotation. The following R(γC) is NOT first rotation. <a name="a055_015"> Rodrigues Construction require spherical triangle vertex angle be half of rotation angle. Rotation axis can be in arbitrary direction. To simplify discussion require second rotation axis OA point to north pole, then first rotation axis OB and OA are in a equal-longitude great circle. (it pass north pole and south pole) <"a055_016"> Problem given R(αA) and R(βB) In which axis OA and OB, rotation angle α and β are all known. Combined one rotation expression is R(αA)R(βB)=R(γC) How to find combined rotation axis OC? How to find combined rotation angle γ? <a name="a055_017"> Let us study combined rotation axis OC Because OC is combined rotation axis, therefore first rotation PLUS second rotation can not move OC. However, first rotation only, OC DO move to different direction. Because combined rotation axis OC must not be first rotation axis OB. For second rotation only, OC DO move to different direction. Because combined rotation axis OC must not be second rotation axis OA. First PLUS second, net effect is that OC not move, therefore, one forward, one backward, OC return to original location. <a name="a055_018"> QBDraw explain that OC back to original location. Attention: QBDraw use HALF of rotation angle First rotation axis is OB, angle is β radian. Divide β to two half angles β/2=∠CBA=∠ABC' [C'] is used in textbook, in this file let C'≡D and let B'≡E The following use D and E for discussion. <a name="a055_019"> Define rotation as the following: put eye at the end point of rotation axis OB. View toward (0,0,0) Direction OB is positive, BO is negative. Apply right hand rule to OB, our eye see counter clockwise rotation as positive. Based on this rule, <a name="a055_020"> QBDraw First rotation, OB axis rotate OC β radian to point OD. Similarly, Second rotation, OA axis rotate OD α radian to point OC. One forward, one backward, globally, only point OC return to original location. Although OC is unknown, but from return to original location unique property, we can find the coordinate of point OC. How to find ? It is five red lines in QBDraw. (the following has detail) explain the reason of finding OC. It explain the method too. Next figure QBDraw explain how. 2011-06-21-13-41 stop <"a055_021"> 2011-06-21-16-16 start Above discussed combined rotation axis OC's unique property. The following discuss combined rotation angle γ property. This is an easier topic. <a name="a055_022"> We have three rotation axis in hand. Given first rotation axis OB, angle β. Given second rotation axis OA, angle α. Unknown combined axis OC and angle γ. <a name="a055_023"> First rotation axis is OB. Any rotation can not move its own axis. Therefore, first rotation, axis OB not move. Second rotation, OB move to OE. Please see QBDraw <a name="a055_024"> Pass point B has a equal latitude small circle. We find one point E on this small circle, then great circle arc AB and great circle arc AE are of same length. There are infinite many such E points. Add one more condition, require ∠BAC = ∠EAC then point E is uniquely determined. Now spherical triangle ∆ABC and ∆AEC are similar (equal) Because ∠BAE=∠BAC+∠EAC therefore ∠BAE=α/2+α/2=α This is a picture of axis OA and angle α move point B to E. Above is OA rotate B to E. <a name="a055_025"> Below is OC rotate B to E. Because OC is axis of combined rotation, therefore result of two rotations is same as result of combined one rotation. QBDraw has ∆ABC and ∆AEC be equal, then arc BC = arc CE and ∠ACB = ∠ACE therefore exterior angle of ∠ACB and exterior angle of ∠ACE be equal. That is ∠BCH = ∠ECH <"a055_026"> Because arc BC = arc CE this is the case of axis OC move point B to point E, rotation angle is ∠BCE Conclusion: In spherical triangle ABC, given point A and point B location, and given vertex angle α/2, β/2. Find vertex C and vertex angle at C. exterior angle will be γ/2 which is half angle of OC rotation angle. 2011-06-21-17-19 stop
<a name="QBDraw">
Please use MSIE browser to read this file.

<a name="a055_027">
2011-06-22-21-36 start 
Above discussed Rodrigues 
Construction and conclude 
that in spherical triangle ABC,
given point A, given point B 
and given vertex angle α/2 and
β/2. Find triangle third vertex
point C. OC is the axis of 
combined rotation and exterior 
angle of vertex C is C's half
rotation angle γ/2.
<a name="a055_028">
The following is calculation.
First, review several necessary
formulas. First see spherical
triangle cosine law. Please see
OA,OB,OC are three radius, all be
length one. At point A draw a 
line tangent to arc AB. tangent 
meet the extension of OB at point 
D. Similarly, at point A draw a 
line tangent to arc AC. tangent 
meet the extension of OC at point 
<a name="a055_029">
Triangle ADE and triangle ODE are
two plane triangles. Plane angle
∠DAE and spherical vertex angle 
∠A (uppercase) are the same angle. 
Plane angle ∠DOE and spherical 
side angle ∠a (lowercase) are the 
same angle. 
A plane triangle has three angles,
A spherical triangle has six angles.
Because spherical triangle sides
are arc of great circles, sides
measured by radians.
<a name="a055_030">
For example side BC is an arc BC
with angle ∠BOC, where O is 
sphere center.
Uppercase A,B,C are vertex angles.
Lowercase a,b,c are side angles.
Plane triangle theorems can not 
take sin(), cos() of its sides.
Spherical triangle theorems must 
take sin(), cos() of its sides.

Apply plane cosine law to plane
triangle ADE at vertex A get
  DE*DE= ---eqn.rod017
Apply plane cosine law to plane
triangle ODE at vertex O get
  DE*DE= ---eqn.rod018
//plane geometry theorem see 
//other web page/textbook.
AD is a tangent to arc AB at A,
therefore ∠OAD is a right angle.
AE is a tangent to arc AC at A,
therefore ∠OAE is a right angle.
<a name="a055_032">
From Pythagoras' theorem get
OD*OD=OA*OA+AD*AD ---eqn.rod019
OE*OE=OA*OA+AE*AE ---eqn.rod020
re-write eqn.rod018 as following
     -2*OD*OE*cos(a) ---eqn.rod021
Let eqn.rod021 subtract eqn.rod017
<a name="a055_033">
eliminate DE*DE get
     -2*OD*OE*cos(a) ---eqn.rod022
move cos(a) to left side
2*OD*OE*cos(a) ---eqn.rod023
whole equation divide by 2*OD*OE
cos(a) ---eqn.rod024
<a name="a055_034">
In plane right triangle OAD
OA/OD=cos(∠AOD)=cos(c) ---eqn.rod025
AD/OD=sin(∠AOD)=sin(c) ---eqn.rod026

In plane right triangle OAE
OA/OE=cos(∠AOE)=cos(b) ---eqn.rod027
AE/OE=sin(∠AOE)=sin(b) ---eqn.rod028

<a name="a055_035">
re-write eqn.rod024 as following
cos(a) ---eqn.rod029
Above equation has three lowercase 
a,b,c and one uppercase A 
If a,b,c are given, that is if
spherical triangle three sides
are given, then eqn.rod029 help
us find vertex angle A.
Equation final form is
cos(A)= ---eqn.rod030
Similarly, find equation for 
vertex B and C
cos(B)= ---eqn.rod031
cos(C)= ---eqn.rod032
eqn.rod030 and eqn.rod031 are used 
at eqn.rod172 Above equation come 
from I. Todhunter page 28/189.
<a name="a055_037">
The following equation come from 
Rob Johnson page 2/19.
Same equation write in different form
cos(a)= ---eqn.rod033
cos(b)= ---eqn.rod034
cos(c)= ---eqn.rod035
2011-06-22-22-51 stop //a006222251

<a name="a055_038">
2011-06-23-22-32 start
Please see QCDraw Spherical triangle 
ABC three sides subtend angles all
be less than 90 degree. For vertex 
A, if opposite side BC angle be 
greater than 90 degree, QCDraw fig.1
is still valid. But if either one of
A's two neighbor side, for example 
side AB, has angle equals 90 degree
then the tangent line AD parallel to
base line OB, both lines meet (D) at 
<a name="a055_039">
If neighbor side AB has angle greater
than 90 degree, tangent AD and base 
OB meet (D) at back side of ∆ABC.
Please see QCDraw.
∆ABC has AB side greater than 90 
Tangent AD, base OB meet D at back.
Tangent AE, base OC meet E at front.
QCDraw fig.1 beautiful graph is no
longer true in QCDraw fig.2!
What to do ?
<a name="a055_040">
To solve this problem, see QCDraw
fig.3 OA and OC no change
fig.3 OB become O[newB] and O[oldB]
O[oldB] is original OB, side A[oldB]
greater than 90 degree.
Vector O[newB] and O[oldB] are 
opposite to each other. Line connect
between [newB] and [oldB] pass sphere 
center O.
angle A[newB] + angle A[oldB]=180deg.
side A[oldB]>90deg. 
side A[newB]<90deg. 
 Original triangle is ∆A[oldB]C,
New build triangle is ∆A[newB]C.
Next see what is the difference.
Use π for 180 degree.
[newB],A,[oldB] three points are 
on one great circle.
∠[newB]AC+∠[oldB]AC=π (180 deg.)
  ∠[new]vertex angle A=
π-∠[old]vertex angle A
<a name="a055_042">
[new]A=π-[old]A=π-A ---eqn.rod036
[new]acute angle=π-[old]obtuse angle
[new]obtuse angle=π-[old]acute angle
[new]c=π-c ---eqn.rod037
[new]a=π-a ---eqn.rod038
Above two lines are key points.
<a name="a055_043">
Old problem, vertex A neighbor side
be obtuse angle.
New problem, vertex A neighbor side
be acute angle.
New problem two tangents meet at 
front side (old meet at back side)
The price paid is that
Old problem, vertex A opposite side
be acute angle.
New problem, vertex A opposite side
be obtuse angle.
But opposite side be obtuse angle 
which is OK, no trouble.
New triangle and old triangle have
AC side in common.
[new b]=[old b] ---eqn.rod039 
//lowercase b is side
<a name="a055_044">
New triangle and old triangle have
equality, it is 
[newB]vertex angle=[oldB]vertex angle
[newB]=[oldB] ---eqn.rod040 
//uppercase B is vertex 
New vertex angle B equal to
old vertex angle B (unlike vertex A 
which is complementary, sum to π)
Open a book, view from top, two 
sides have an angle. View from 
bottom, two sides have another
angle. Both angles are equal.
If take binding side as axis and
cut book into semi circle, it is
still top angle equals bottom 
angle. This is exact the case 
new vertex angle B equal to
old vertex angle B

<a name="a055_045">
Apply cosine law to new triangle
∆A[newB]C find
cos([newA])= ---eqn.rod041
[cos([new a])-cos([new b])*cos([new c])]/[sin([new b])*sin([new c])]
Use the relation eqn.rod036 to
eqn.rod040 get
cos(π-A)= ---eqn.rod042
// sin(PI-α)=+sin(α) ---eqn.rod043
// cos(PI-α)=-cos(α) ---eqn.rod044
-cos(A)= ---eqn.rod045 //a006251804 correction
Above equation cancel a '-' get
cos(A)= ---eqn.rod046
compare with
cos(A)= ---eqn.rod030
they are the same.

<a name="a055_047">
Above discussed original triangle 
has one neighbor side be greater
than 90 degree. New build triangle
plus old triangle shape like a new 
It is possible to have both neighbor 
sides be greater than 90 degree. In 
this case, both vector OB and OC 
reverse direction. Analysis method 
is the same. New build new/old 
triangle shape like an 'X' .
2011-06-23-23-56 stop a006232356

<a name="a055_048">
2011-06-25-17-40 start
Above derived spherical triangle 
side cosine law. In one equation
side a,b,c show up five times and
vertex show up once.
cos(A)= ---eqn.rod030
cos(B)= ---eqn.rod031
cos(C)= ---eqn.rod032
Equation left side are all uppercase
A,B,C. Right side are all lowercase 
<a name="a055_049">
If reverse the role of uppercase 
and lowercase. next three equation
are true? or not?
cos(a)= ---eqn.rod047
cos(b)= ---eqn.rod048
cos(c)= ---eqn.rod049
re-write above equations as next
<a name="a055_050">
Next expression come from I. Todhunter 
page 34/189
cos(A)= ---eqn.rod050
cos(B)= ---eqn.rod051
cos(C)= ---eqn.rod052
Uppercase A,B,C are three vertex.
Lowercase a,b,c are three sides.
Spherical triangle vertex cosine law
In one equation, sides a,b,c show 
up once, and vertex A,B,C show up
five times.

<a name="a055_052">
Spherical triangle vertex angles 
sum to a value greater than PI.
Spherical triangle side angles 
sum to a value less than PI and
approach to zero is possible.
Vertex angle and side angle are
very different, but 
Spherical triangle vertex cosine law
eqn.rod050, eqn.rod051, eqn.rod052
are true, to prove need more words.
2011-06-25-18-02 stop  a006251802

<a name="a055_053">
2011-06-25-19-38 start
To prove eqn.rod050 to eqn.rod052
Spherical triangle vertex cosine law
we build dual triangle ∆LMN of 
original triangle ∆ABC. See QCDraw
∆ABC is original triangle,
∆LMN is dual triangle of ∆ABC.
The method is 
Relative to OA, draw its equator 
great circle, solid pink #fedcba
circle in QCDraw fig.4 This circle 
pass points M,N.
Relative to OB, draw its equator 
great circle, solid green #66aa66
circle in QCDraw fig.4 This circle 
pass points L,N.
Relative to OC, draw its equator 
great circle, solid gray #aaaaff
circle in QCDraw fig.4 This circle 
pass points L,M.
<a name="a055_054">
Three new build equator great 
circles divide sphere surface
into eight areas. Each circle
divide sphere to two half, half 
3 times get 2*2*2=8 triangles. In 
which only one triangle ∆LMN go
around old triangle completely.
Other seven triangles do not 
have this enclose relation with
original ∆ABC. If original ∆ABC
is greater than 1/8 of total 
spherical area, then new build
∆LMN is inside of old ∆ABC. 
Either way, new and old are 
shape like "◎".
New ∆LMN is dual of old ∆ABC,
Old ∆ABC is dual of new ∆LMN.

<a name="a055_055">
Please pay attention:
New build ∆LMN, its side MN is
on OA equator great circle.
Next proof
∆LMN side MN angle plus 
∆ABC vertex angle A equal to 180
that is //next line ---eqn.rod053
  dual side angle∠NOM
 +original vertex angle∠CAB=180
QCDraw fig.4 did not draw vectors 
OL,OM,ON because no space. 
In order to prove above relation
we need a special spherical 
triangle. It is called 
semilunar triangle or semilune.
Reference is Rob Johnson 
page 4/19 definition 2.1
Please click QCDraw

<a name="a055_057">
QCDraw fig.5 both side AB and AC
start from north pole stop at 
equator. Both sides subtend 90
degree to sphere center.
semilunar triangle has following
AB side angle ∠AOB = 90 deg.
AC side angle ∠AOC = 90 deg.
vertex angle at B ∠ABC = 90 deg.
vertex angle at C ∠ACB = 90 deg.

<a name="a055_058">
Tangent plane at north pole A 
(not draw) and equator plane 
are parallel planes. therefore
vertex angle at A ∠BAC equal to
side BC angle ∠BOC
Above relations are obvious.
QCDraw fig.6 need above relations.
2011-06-25-20-28 stop

<a name="a055_059">
2011-06-25-21-04 start
Next please see QCDraw
This figure prove our goal 
which is
Dual triangle side angle MN plus 
original triangle vertex angle A
equal to 180 degree. That is 
  dual side∠NOM ---eqn.rod053
 +original vertex ∠CAB=180
Please pay attention to that 
old vertex + new side = 180
<a name="a055_060">
old vertex A ∠CAB plus 
new side MN ∠NOM sum as next
  ∠CAB + ∠NOM
= ∠CAB + ∠NAM
= ∠NAB + ∠CAM
= PI/2 + PI/2
= PI = 180 deg. ---eqn.rod054
  ∠COB + ∠NLM
= ∠CLB + ∠NLM
= ∠NLB + ∠CLM
= PI/2 + PI/2
= PI = 180 deg. ---eqn.rod055

<a name="a055_062">
Explain as next
  ∠CAB + ∠NOM
= ∠CAB + ∠NAM ---eqn.rod056
is true, because 
NM is on OA equator great circle
triangle NAM is semilune, then
 vertex angle ∠NAM
=NM side angle ∠NOM.
Please review QCDraw fig.5.

<a name="a055_063">
Next explain
  ∠CAB + ∠NAM
= ∠NAB + ∠CAM ---eqn.rod057
vertex angle ∠CAB and ∠NAM 
both rotate around axis OA
∠CAB is inside ∠NAM completely.
Divide ∠NAM to next three parts
 ∠NAM = ∠NAC + ∠CAB + ∠BAM ---eqn.rod058
Substitute ∠NAM into left side 
of eqn.rod057 add with ∠CAB 
and re-arrange as next
 ∠CAB + ∠NAM ---eqn.rod059
 = ∠CAB + (∠NAC + ∠CAB + ∠BAM)
 =(∠NAC + ∠CAB) + (∠CAB + ∠BAM)
 = ∠NAB + ∠CAM ---eqn.rod060
<a name="a055_064">
NA is from OA to OA's equator,
therefore side NA subtend 90 deg. 
NB is from OB to OB's equator,
therefore side NB subtend 90 deg. 
Both NA and NB are 90 deg. They 
are on one sphere, we find that
side AB is on vector ON's equator
we conclude that   ∠NAB = 90 deg.
Similar reason get ∠CAM = 90 deg.

Above proof is a reading notes 
from Rob Johnson page 6/19 
2011-06-25-21-46 here

<a name="a055_065">
Above showed
  dual side∠NOM ---eqn.rod053
 +original vertex ∠CAB=180
is true. With same reason, other
similar relations are true.

 Old ∆ABC vertex A,B,C sides a,b,c
Dual ∆LMN vertex L,M,N sides l,m,n
(this file code section change
 l,m,n to x,y,z )
Summary relations 
 L=PI-a ---eqn.rod061
 M=PI-b ---eqn.rod062
 N=PI-c ---eqn.rod063
 l=PI-A ---eqn.rod064
 m=PI-B ---eqn.rod065
 n=PI-C ---eqn.rod066
Summary come from I. Todhunter 
page 23/189, section 27.
I. Todhunter use A',B',C',a',b',c'.
Liu, Hsinhan use L, M, N, l, m, n .
2011-06-25-22-08 here

<a name="a055_067">
Next apply cosine law to DUAL ∆LMN
cos(L)= ---eqn.rod067
Use summary relations 
eqn.rod067 become
cos(PI-a)= ---eqn.rod068
Refer to eqn.rod043 and eqn.rod044
-cos(a)= ---eqn.rod069
<a name="a055_068">
that is
 cos(a)= ---eqn.rod070
[ cos(A)+cos(B)*cos(C)]/[sin(B)*sin(C)]
eqn.rod070 is same as eqn.rod047
We proved eqn.rod047 is true.
Other relations use same reason.
Spherical cosine law is done.
2011-06-25-22-18 stop  a006252218
<a name="QCDraw">
Please use MSIE browser to read this file.

<a name="a055_069">
2011-06-25-23-20 start  
Above prove ∆ABC cosine law.
Below prove ∆ABC sine law.
Assume ∆ABC vertex A,B,C and
sides a,b,c, then
 sin(A)  sin(B)  sin(C) 
 ------= ------= ------ ---eqn.rod071
 sin(a)  sin(b)  sin(c) 

<a name="a055_070">
Above already proved cosine law
cos(A)= ---eqn.rod030
We know that
sin(A)*sin(A)+cos(A)*cos(A)=1 ---eqn.rod072
eqn.rod072 is Pythagoras' theorem.
Solve for sin(A) get
sin(A)*sin(A)=1-cos(A)*cos(A) ---eqn.rod073
Substitute cos(A) in eqn.rod030 
to eqn.rod073 get
<a name="a055_071">
cos() simplify to c() to save space.
[ sin(A) ] 2

= 1- [


[1-c2(b)]*[1-c2(c)] -[c2(a)-2*c(a)*c(b)*c(c)+c2(b)*c2(c)]

1-c2(b)-c2(c)+c2(b)*c2(c) -c2(a)+2*c(a)*c(b)*c(c)-c2(b)*c2(c)

1-cos2(a)-cos2(b)-cos2(c) +2*cos(a)*cos(b)*cos(c)

---I. Todhunter ---30/189 ---eqn.rod074
width of above equation
2011-06-26-00-02 stop 2011-06-26-10-08 start
<a name="a055_072">
in eqn.rod074 divide by sin2(a) get next equation
cos() simplify to c() to save space.

1-c2(a)-c2(b)-c2(c) +2*c(a)*c(b)*c(c)

---I. Todhunter ---30/189 ---eqn.rod075
width of above equation
<a name="a055_073">
2011-06-26-10-19 here
Right side of eqn.rod075 is
symmetry to a,b,c . In other
words, if change left side 
to sin2(B)/sin2(b) or
to sin2(C)/sin2(c)
equation right side not change
that is //next line ---eqn.rod076 
<a name="a055_074">
Take square root, get sine law
 sin(A)  sin(B)  sin(C) 
 ------= ------= ------ ---eqn.rod071
 sin(a)  sin(b)  sin(c) 
Here, proved spherical triangle
sine law.
Above is a study notes of reading
I. Todhunter page 30/189 
Three equations at the end of 
this file
eqn.rod173, eqn.rod174, eqn.rod175
use eqn.rod071
2011-06-26-10-27 stop a006261027 

<a name="a055_075">
2011-06-26-13-37 start
This file tute0055.htm main goal
is use Rodrigues Construction to 
prove Euler's Rotation Theorem.
Textbook page 157 to 159 has all
proof. Page 158 equation (7)is
an identity
 (l×m)×(l×n)=(l×mn)*l ---eqn.rod077
where "*" is multiplication 
between numbers.
"‧" is vector dot product.
"×" is vector cross product.
textbook require vectors l,m,n 
have length one. The following 
prove eqn.rod077

Reference is Calculus and 
Analytic Geometry by
George B.Thomas Jr. and
Ross L. Finney Sixth edition
ISBN 0-201-16290-3
Page 743 equation (8).

<a name="a055_077">
Starting equation is
(OA×OB)×OC = m*OA + n*OB ---eqn.rod078
Here added 'O' indicate OA,OB
and OC are all vectors.
Equation left side has OA,OB,OC 
three vectors.
Why right side has only OA,OB 
two vectors?
Right side do not have OC, why
equation is an equality?
Please see QDDraw fig.1
<a name="QDDraw">
Please use MSIE browser to read this file.

<a name="a055_078">
QDDraw fig.1 is 
vector OD = vec OA × vec OB
From the definition of a cross
product, we know that 
OD⊥OA and OD⊥OB 
(but OA not need ⊥ OB )
<a name="a055_079">
Next see QDDraw fig.2 
fig.2 include fig.1 plus 
vector OE = vec OD × vec OC
Apply fig.1 result to new add
part OD×OC=OE we find
 OE ⊥ OD and OE ⊥ OC
Because OD⊥OA,OD⊥OB,OE⊥OD 
the answer OE is in OA,OB plane
Right side of eqn.rod078 do not 
need OC .

<a name="a055_080">
Next see in
(OA×OB)×OC = m*OA + n*OB ---eqn.rod078
how to find m and n .
2011-06-26-14-20 stop
2011-06-26-14-39 start
Please see QDDraw.
fig.3 added coordinate x,y,z .
To simplify calculation,
require x axis coincide with OA
require y axis in OA,OB plane.
After two assigned, z axis is 
fixed, no choice.
Under above condition, we write
OA=(a1,a2,a3)=(a1, 0, 0) ---eqn.rod079
OB=(b1,b2,b3)=(b1,b2, 0) ---eqn.rod080
OC=(c1,c2,c3)=(c1,c2,c3) ---eqn.rod081
Appearance of 0 is the result of 
our simplification.
The following calculate (OA×OB)
and (OA×OB)×OC
(OA×OB)=(a1, 0, 0)×(b1,b2, 0)
(OA×OB)=(0, 0, a1*b2) ---eqn.rod082

<a name="a055_082">
(OA×OB)×OC=(0, 0, a1*b2)×(c1,c2,c3)
  |  i   j   k  |
= |  0   0 a1*b2|
  | c1  c2  c3  |

= i(0*c3-c2*a1*b2)

<a name="a055_083">
= i(-c2*a1*b2)
 +k(0) ---eqn.rod083
that is //next line ---eqn.rod084

<a name="a055_084">
From eqn.rod079 to eqn.rod084 
We carry out cross product twice
for three vectors OA,OB,OC .
This is left side of eqn.rod078 .
Right side of eqn.rod078 tell us
do not use cross product, add two
vectors to get answer.

<a name="a055_085">
The following is right side of 
eqn.rod078 , add two vectors.
 m*OA + n*OB  ---eqn.rod085
=m*(a1, 0, 0) + n*(b1,b2, 0)
=(m*a1, 0, 0) + (n*b1,n*b2, 0)
=(m*a1+n*b1, n*b2, 0)

eqn.rod078 right side is eqn.rod085
eqn.rod078  left side is eqn.rod084
Now require eqn.rod084 = eqn.rod085
get next two equations 
 m*a1+n*b1=-a1*b2*c2 ---eqn.rod086
 n*b2     = a1*b2*c1 ---eqn.rod087
eqn.rod086 is result of x component
eqn.rod087 is result of y component
a1,a2,b1,b2,c1,c2 are all given,
m and n are both unknown.
<a name="a055_087">
From eqn.rod087 cancel b2 and 
find n get
 n = a1*c1 ---eqn.rod088
re-write as following
 n = a1*c1+ 0*c2+ 0*c3
 n = a1*c1+a2*c2+a3*c3
finally get //next line ---eqn.rod089
 n=+(vector OA dot vector OC)

<a name="a055_088">
But in eqn.rod087 if b2=0,
what to do? 
We required
 x axis coincide with OA
 y axis in OA,OB plane, so
OA=(a1,a2,a3)=(a1, 0, 0) ---eqn.rod079
OB=(b1,b2,b3)=(b1,b2, 0) ---eqn.rod080
If b2 were zero, then OA and OB
are parallel, OA×OB has zero length 
and direction of OA×OB is undefined.
We should not start from an undefined.
In other words, b2 must not be zero,
therefore cancel b2 in eqn.rod087 is

<a name="a055_089">
Next substitute n in eqn.rod088 
to eqn.rod086 find m as following
 m*a1+n*b1=-a1*b2*c2 ---eqn.rod086
 m*a1=-a1*b1*c1-a1*b2*c2 ---eqn.rod090
In eqn.rod090 cancel a1 ,
Can we cancel a1 ? if a1 =0 
what to do?
<a name="a055_090">
Above discussed "cancel b2 is 
Here, "Can we cancel a1 ?" can
you figure out the reason?
 m=-(b1*c1+b2*c2+ 0*c3)
Final form is // ---eqn.rod091
 m=-(vector OB dot vector OC)

Substitute eqn.rod089 and eqn.rod091 
into eqn.rod078 get 
  (OA×OB)×OC= ---eqn.rod092
This is Thomas , Finney calculus 
6th ed. page 743 equation (8)
Page 743 whole page prove (8)

Next is similar problem, exchange
the order of two-term and one-term
see page 744 equation (12b) get
  OA×(OB×OC)= ---eqn.rod093
Later part of this file eqn.rod141 
apply above result eqn.rod092 
and eqn.rod093 several times.
2011-06-26-15-52 here

<a name="a055_092">
textbook page 158 equation (7)
 (l×m)×(l×n)=(l×mn)*l ---eqn.rod077
textbook use l,m,n which is same
as OA,OB,OC used in this file.
Above use bold for vector.
Following use OL,OM,ON for vector.
 (OL×OM)×(OL×ON)=(OL×OM‧ON)*OL ---eqn.rod094
eqn.rod094 and eqn.rod077 are
one equation.
<a name="a055_093">
The following use
  (OA×OB)×OC= ---eqn.rod092
to prove eqn.rod094 
In eqn.rod094 define 
 OP=(OL×ON) ---eqn.rod095
eqn.rod094 left hand become 
<a name="a055_094">
Refer to eqn.rod092 write the 
 (OL×OM)×OP= ---eqn.rod096
Recover OP get
 (OL×OM)×(OL×ON)= ---eqn.rod097
In OL‧(OL×ON) , OL show up twice
  OL‧(OL×ON)=0 ---eqn.rod098
<a name="a055_095">
On the other hand exchange OM 
and OL to get
  -OM‧(OL×ON)=+OL‧(OM×ON) ---eqn.rod099
Substitute eqn.rod098 and 
eqn.rod099 into eqn.rod097 get
 (OL×OM)×(OL×ON)= ---eqn.rod100
OL、OM、ON cyclic order determine
its positive/negative sign. But 
exchange cross product and dot 
product do not change sign.
We find
 (OL×OM)×(OL×ON)= ---eqn.rod101
eqn.rod101 is same as eqn.rod077
eqn.rod101 is a vector, direction
is along OL.
Simon L. Altmann textbook require
length of OL be one. Now take 
absolute value for eqn.rod101 
<a name="a055_097">
Drop |OL|=1 get
 |(OL×OM)×(OL×ON)|=OL×OM‧ON ---eqn.rod102
This is textbook page 158 
equation (8)
(OL×OM) is sin(c) 
(OL×ON) is sin(b)
(OL×OM)×(OL×ON) is sin(A)
b,c are spherical triangle sides 
subtend angle to sphere center.
A is spherical triangle vertex 
angle at vertex A.
<a name="a055_098">
eqn.rod102 indicate
 sin(c)*sin(b)*sin(A)=OL×OM‧ON ---eqn.rod103
Move sin(c)*sin(b) to right side
 sin(A)=OL×OM‧ON/[sin(c)*sin(b)] ---eqn.rod104
Whole equation divide by sin(a)
 sin(A)/sin(a) ---eqn.rod105
<a name="a055_099">
Right side of eqn.rod105 is 
symmetrical to a,b,c , in other
words, if left side change to 
sin(B)/sin(b) or
sin(C)/sin(c) get same right 
side value, therefore
=sin(C)/sin(c) ---eqn.rod106
Above is textbook prove sine law.
2011-06-26-16-43 stop

<a name="a055_100">
2011-06-26-19-26 start
Above walked long way, they are
all preparation. The following
prove Simon L. Altmann textbook
page 158 equation (6)
  cos(C)=-cos(A)*cos(B) ---eqn.rod107
and page 159 equation (15)
  sin(C)*ON= ---eqn.rod108

2011-06-26-19-35 here
textbook use bold l,m,n write 
equation (6) and (15).
This file change to OL,OM,ON 
Why (6) and (15) are important?
QBDraw prove 
Euler's Rotation Theorem
First rotation use OB as axis
and rotate β radian.
Second rotation use OA as axis
and rotate α radian.
Euler's Rotation Theorem say:
Two rotations can be merged to 
one rotation, use OC as axis
and rotate γ radian.
(6)  define γ value,
(15) define OC location

<a name="a055_102">
eqn.rod107 use (OL‧OM)
eqn.rod052 use cos(c) lowercase c
Lowercase c is AB side of ∆ABC.
textbook use l m n 
This file change to OL,OM,ON
They are OA,OB,OC three vectors 
in QBDraw and 
When discuss figure, use OA,OB,OC 
When derive equation use l m n
<a name="a055_103">
OA‧OB express as cos()
OA and OB have one arc link them
which is side c of ∆ABC, therefore
OA‧OB = cos(c)
In other words, lm IS cos(c) .
equation (6) eqn.rod107 IS 
eqn.rod052 which is done.

<a name="a055_104">
The following prove equation (15) 
that is eqn.rod108
OC axis location equation.
  sin(C)*ON= ---eqn.rod108
Above is textbook expression.
<a name="a055_105">
Vector OA,OB,OC and vertex A,B,C 
do not mix up, 
re-write eqn.rod108 as 
  sin(C)*OC= ---eqn.rod109
After second thought, textbook 
page 159 equation (13) is long, 
the following still use
l m n , please remember
l is second rotation axis OA
m is first rotation axis OB
n is merged rotation axis OC
2011-06-26-20-26 here

Merged rotation angle must be
Merged rotation axis must be
First check rotation angle
  cos(C)=-cos(A)*cos(B) ---eqn.rod107
Because OL≡OA OM≡OB,
re-write as next
  cos(C)=-cos(A)*cos(B) ---eqn.rod110

<a name="a055_107">
First term -cos(A)*cos(B) 
is a scalar
Second term OA is vector and
OB is vector,
(sin(A)*OA) is shortened vector
(sin(B)*OB) is shortened vector
Next is vector dot vector
result is scalar.
scalar plus scalar and 
scalar equal scalar are OK.
(If scalar add vector or scalar 
 equal to vector, both are wrong)

<a name="a055_108">
Above is merged rotation angle 
equation. (already proved)
Below is merged rotation axis
(proof is coming)
eqn.rod109 shows relation 
between OA,OB,OC and vertex angle
A,B,C . The following eqn.rod111
is same as eqn.rod109 , but 
eqn.rod111 reveal more information.
 (sin(C)*OC)= ---eqn.rod111
OA,OB,OC are all vectors, each have
three components. Above equation 
left side one term and right side
three terms are all vectors. 
Vector add or equal vector is 

<a name="a055_109">
Why group sine with vector as one
unit? See next.
(sin(C)*OC) ---eqn.rod112

Rodrigues Construction has close
relation with quaternion.
If rotation axis is OA=[a1,a2,a3],
require vector OA length be one.
If rotation angle is α radian.
<a name="a055_110">
Define quaternion q as following
  q=[cos(α/2);sin(α/2)*[a1,a2,a3]] ---eqn.rod113
Next expression is the same
  sin(α/2)*a2,sin(α/2)*a3] ---eqn.rod114
Main point is that in quaternion
definition, sine and axis vector
are grouped as one unit. Therefore
eqn.rod110 and eqn.rod111 reveal
more information.
(that is eqn.rod107 and
 eqn.rod109 have less information)
2011-06-26-21-07 stop

2011-06-27-11-15 start
Why two equations have sign change?
Spherical triangle cosine law is
  cos(C)=-cos(A)*cos(B) ---eqn.rod107
that is
  cos(C)=-cos(A)*cos(B) ---eqn.rod110
<a name="a055_112">
This equation say 
in a spherical triangle ∆ABC 
cosine of vertex angle C, 
cos(C) equal a combination of
sine/cosine of vertex angle A,B
and vector OA,OB which is 
<a name="a055_113">
On the other hand (merged angle)
 cos(γ/2)=cos(α/2)*cos(β/2) ---eqn.rod115
compare with next (not relate 
to rotation)
  cos(C)=cos(A)*cos(B) ---eqn.rod110
Why two have a sign difference?
If two equations are different,
how can we say use 
Rodrigues Construction to prove
Euler's Rotation Theorem ?
<a name="a055_114">
The answer is 
two equations differ by a negative
sign which is correct.
Please see QBDraw
Because vertex angle C is 
interior angle of ∆ABC, but
γ/2 is exterior angle to C
<a name="a055_115">
Interior + exterior = 180

When study, find question, need 
to know its answer. Four years 
ago first time read textbook,
know why, but did not write down.
Today re-discover the answer, 
write down quickly.
2011-06-27-11-41 stop

2011-06-27-11-58 start
The following is the core of 
proof process.
Prove textbook page 159 equation (15)
  sin(C)*ON= ---eqn.rod108

<a name="a055_117">
Please see QBDraw
In spherical triangle ∆ABC vertex
A and B location are given.
vertex A and B angle are given.
From given condition 
find vertex C location (below prove)
find vertex C angle (done proof)
<a name="a055_118">
Vector C can be expressed as sum 
of vector A and B, for example
  OC=s*OA+t*OB ---eqn.rod116 ERROR
eqn.rod116 is wrong, why?
From QBDraw to find answer
vector C is not in OA,OB plane.
vector C has component stand out
from OA,OB plane. How to solve 
this problem? We provide a vector
which stand out from OA,OB plane.
OA×OB is such a vector. In QBDraw
 the red dash line is OA×OB
<a name="a055_119">
Vector C can be sum of vector A 
and vector B and vector OA×OB 
  OC=f*OA ---eqn.rod117
textbook page 158 line -3 
equation (11) is eqn.rod117 
eqn.rod117 match QBDraw symbol
usage. Below change symbol.
<a name="a055_120">
When derive equation use textbook
symbol which is shorter. 
Re-write eqn.rod117 as following
  n=fl+gm+hp ---eqn.rod118
in which 
n is vector OC an unknown.
l is vector OA given.
m is vector OB given.
p is vector OA cross vector OB
p=l×m ---eqn.rod119
Since l and m are both known
therefore p is given.
eqn.rod118 has four unknown.
Vector OC unknown, coefficients 
f,g,h are unknown.
We have one equation eqn.rod118 
how can solve for four unknown?

<a name="a055_122">
We must find relation between 
coefficients f,g,h and given
values plus last unknown n
Substitute these relations to 
eqn.rod118, let eqn.rod118 
contain only one unknown n,
then it is possible to solve.
Following is a special rule
Symbol "*" do not represent 
Symbol "*" represent 
      auxiliary vectors.
Put two symbols side by side
for multiplication. That is
ignore multiplication symbol.
<a name="a055_123">
Textbook give hint as following
Define auxiliary vectors l*,m*,p*.
target at 
  n=fl+gm+hp ---eqn.rod118
Require l*,m*,p* have the following 
//Remind: [‧] is vector dot product.
 ll*=l*‧l=1 ---eqn.rod120
 mm*=m*‧m=1 ---eqn.rod121
 pp*=p*‧p=1 ---eqn.rod122
<a name="a055_124">
 l*‧m=0 ---eqn.rod123
 l*‧p=0 ---eqn.rod124
 m*‧l=0 ---eqn.rod125
 m*‧p=0 ---eqn.rod126
 p*‧l=0 ---eqn.rod127
 p*‧m=0 ---eqn.rod128
All those with [*] are auxiliary 
<a name="a055_125">
l* and l two vectors are not
parallel, not perpendicular, 
their length related by dot 
result be one. m* and m ; 
p* and p are the same.
If above nine relations are true,
what do we get? First check l*
Related equations are
 l*‧l=1 ---eqn.rod120
 l*‧m=0 ---eqn.rod123
 l*‧p=0 ---eqn.rod124
Back to the starting equation, 
 n=fl+gm+hp ---eqn.rod118
If use l* dot eqn.rod118 get
 l*‧n=fl*‧l+gl*‧m+hl*‧p ---eqn.rod129
result is
Above line right side read as
 f multiply by 1+g multiply by 0
+h multiply by 0 result is
<a name="a055_127">
 l*‧n=f ---eqn.rod130
coefficient f has answer.
 m*‧n=g ---eqn.rod131
 p*‧n=h ---eqn.rod132
Original problem ask to solve one
equation with four unknowns f,g,h
and n.
New problem ask to solve one
equation with l* and m* and p*
and n four unknowns.
<a name="a055_128">
Following is most important
Vector has direction and length.
To find vector l* we need 
to find direction of l* and 
find magnitude of l*.
Vector l* relations are 
 l*‧l=1 ---eqn.rod120
 l*‧m=0 ---eqn.rod123
 l*‧p=0 ---eqn.rod124
//l,m,p are all given
eqn.rod123 and eqn.rod124 
give us direction of l* !
eqn.rod120 give us magnitude 
of l*! Hope is here !!

<a name="a055_129">
Above red text are important
concept. Four years ago reached
this point, wrote only rough 
notes. Recent few days headache
again. "To know is difficult, 
To do is easy." The following
is easy calculation.
2011-06-27-14-00 stop

<a name="a055_130">
2011-06-27-15-09 start
Following is calculation, start
equation is
 n=fl+gm+hp ---eqn.rod118
 f=l*‧n ---eqn.rod130
 l*‧l=1 ---eqn.rod120
 l*‧m=0 ---eqn.rod123
 l*‧p=0 ---eqn.rod124
Find l* first, substitute to 
eqn.rod130 for f, then substitute 
to eqn.rod118 .

Vector l* perpendicular to m and
to p, therefore m cross p 
give us direction of l* . 
Because the result of m cross p 
need to re-adjust length to meet
eqn.rod120. Use a variable k for 
this purpose.
Base on eqn.rod123 and eqn.rod124 
 l*=km×p ---eqn.rod133
Base on eqn.rod120 require
 1=km×pl ---eqn.rod134
<a name="a055_132">
Solve for k get
 k=1/(lm×p) ---eqn.rod135
substitute k to eqn.rod133 for l*
 l*=m×p/(lm×p) ---eqn.rod136
substitute l* to eqn.rod130 for f
 f=[m×p]‧n/(lm×p) ---eqn.rod137
<a name="a055_133">
Similarly //[l×p]‧n error
 g=[p×l]‧n/(lm×p) ---eqn.rod138
and //[m×l]‧n error
 h=[l×m]‧n/(lm×p) ---eqn.rod139
substitute f,g,h to eqn.rod118 
get the following eqn.rod140 
2011-06-27-15-38 here
<a name="a055_134">
denominator and numerator are all scalars.
However, whole equation is vector equation.

n =

l +

m +

---Simon L. Altmann ---page 159 top, omitted ---eqn.rod140
width of above equation

we need p which is defined as
p=l×m ---eqn.rod119
<a name="a055_135">
substitute p into eqn.rod140 get
n =

l +

m +

---Simon L. Altmann ---page 159 top, omitted ---eqn.rod141
width of above equation
2011-06-27-16-15 here
eqn.rod141 right side first 
denominator (red) is
This is vector l dot vector 
m×(l×m), use 
  OA×(OB×OC)= ---eqn.rod093
<a name="a055_137">
calculate as following 
=1-(ml)2 ---eqn.rod142 

<a name="a055_138">
where mm=1  ---eqn.rod143 
 and  ll=1  ---eqn.rod144 
We require l m n all be 
radius of unit sphere, their 
length are all one.
eqn.rod141 right side second 
denominator (blue) is
This is vector m dot vector 
(l×ml. use
  (OA×OB)×OC= ---eqn.rod092
<a name="a055_139">
calculate as following 
=1-(ml)2 ---eqn.rod145

<a name="a055_140">
eqn.rod141 right side third 
denominator (black) is
This is vector (l×m) dot vector 
calculate as following 
=[(l×ml]‧m //see eqn.rod145
=1-(ml)2 ---eqn.rod146

Here, get all three denominators
in eqn.rod141 be
Re-arrange eqn.rod141 get
2011-06-27-16-50 here
<a name="a055_142">
n =
[nm×(l×m)]l +[n(l×ml]m +[nl×m](l×m)

---Simon L. Altmann ---page 159 top, omitted ---eqn.rod147
width of above equation
<a name="a055_143">
eqn.rod147 numerator still has 
three vector cross product. 
The are the red terms.

Refer to eqn.rod093 and eqn.rod142 
eqn.rod147 first red term is
 nm×(l×m) ---eqn.rod148
=nl-(ml)(nm) //(mm)=1

<a name="a055_144">
Refer to eqn.rod092 and eqn.rod145 
eqn.rod147 second red term is
 n‧(l×ml ---eqn.rod149
=nm-(ml)(nl) //(ll)=1

Substitute eqn.rod148 and eqn.rod149 
to eqn.rod147 get an expression
without three vector cross product.
<a name="a055_145">
n =
[nl-(ml)(nm)]l +[nm-(ml)(nl)]m +[nl×m](l×m)

---Simon L. Altmann ---page 159 line 3, (13)
width of above equation
eqn.rod150 is textbook page 159 
line 3 equation (13)
2011-06-27-17-31 stop

2011-06-27-19-07 start
eqn.rod150 has vector part and 
scalar part. 
Numerator three [terms] and 
denominator are scalars.
Variable right to [term] are
three vectors. They are
 l and m and l×m
Vectors are final, not change.
The following change scalar 
to spherical trigonometry 
 cos(), sin(), parameters are 
vertex angle A,B,C and sides
a,b,c .
<a name="a055_147">
Scalar expressions are
[nl-(ml)(nm)] ---eqn.rod151
[nm-(ml)(nl)] ---eqn.rod152
[nl×m] ---eqn.rod153
1-(ml)2 ---eqn.rod154
This file use multiple expression
l≡OA ---eqn.rod155
m≡OB ---eqn.rod156
n≡OC ---eqn.rod157
//Read "≡" as "it IS"

<a name="alert001"> alert2
BUT! n is unknown ! a007051407
eqn.rod150 both side have n !
Given: vertex angle A & B
Given: side AB=c
Unknown: vertex angle C
Unknown: side CB=a,CA=b
The following calculation
mix known with unknown.
If final expression has
only given terms then OK.

<a name="a055_148">
Re-write scalar expressions 
[OC‧OA-(OB‧OA)(OC‧OB)] ---eqn.rod158
[OC‧OB-(OB‧OA)(OC‧OA)] ---eqn.rod159
[OC‧OA×OB] ---eqn.rod160
1-(OB‧OA)2 ---eqn.rod161
When read QBDraw, change l,m,n
to OA,OB,OC.

<a name="a055_149">
Since sphere radius is one
|OA|=|OB|=|OC|=1 ---eqn.rod162
Remind again, 
uppercase A,B,C are vertex angle
lowercase a,b,c are side subtend angle
A+B+C must be greater than 180 deg.
a+b+c can approach to zero.
They are different.

<a name="a055_150">
Please see QBDraw
graph show that 
OC‧OA=cos(b) ---eqn.rod163
OB‧OA=cos(c) ---eqn.rod164
OC‧OB=cos(a) ---eqn.rod165
[OC‧OA-(OB‧OA)(OC‧OB)] ---eqn.rod158
cos(b)-cos(c)cos(a) ---eqn.rod166

[OC‧OB-(OB‧OA)(OC‧OA)] ---eqn.rod159
cos(a)-cos(c)cos(b) ---eqn.rod167

<a name="a055_152">
Refer to eqn.rod103
[OC‧OA×OB] ---eqn.rod160
sin(c)*sin(b)*sin(A) ---eqn.rod168

1-(OB‧OA)2 ---eqn.rod161
1-cos2(c) ---eqn.rod169

<a name="a055_153">
Substitute eqn.rod166 to eqn.rod169 
into eqn.rod150 
Move right side denominator to 
left numerator get
 [1-cos2(c)]n= ---eqn.rod170
//l≡OA ---eqn.rod155
//m≡OB ---eqn.rod156
//n≡OC ---eqn.rod157
//following back to l,m,n

<a name="a055_154">
eqn.rod170 use lowercase a,b,c.
In Euler's Rotation Theorem
First rotation is β, use β/2
as vertex angle B
Second rotation is α, use α/2
as vertex angle A
Combined rotation axis locate
at vertex C.
Combined rotation angle is 
exterior angle of vertex C.
We must change lowercase a,b,c 
to uppercase A,B,C .
The following do this change.

<a name="a055_155">
Left term  [1-cos2(c)] = sin2(c)
Write as sin(c)sin(c)
Keep one sin(c) at left numerator.
Move another to right denominator.
eqn.rod170 become the following
<a name="a055_156">
sin(c)n =





---Simon L. Altmann ---page 159 line 6,7 ; (14)
width of above equation
<a name="a055_157">
In eqn.rod171 
Red sin(a)/sin(a) is inserted "*1"
Red sin(b)/sin(b) is inserted "*1"
Gray sin(c)/sin(c) cancel to one.
eqn.rod171 is textbook page 159
line 6,7 equation (14) 

<a name="a055_158">
Rearrange eqn.rod171 get the
following eqn.rod172 
sin(c)n =
[cos(b)-cos(c)cos(a)] l


---Simon L. Altmann ---page 159 line 6,7 ; (14)
width of above equation
<a name="a055_159">
Apply spherical triangle cosine law
cos(A)= ---eqn.rod030
cos(B)= ---eqn.rod031

<a name="a055_160">
Red terms in eqn.rod172 are 
replaced by cosine.
First line red term change to cos(B) 
Although l is OA
but can not change to cos(A)
Second line red term change to cos(A) 
Although m is OB
but can not change to cos(B) 
Equation A,B cross at cosine term
Upper case A,B,C is vertex angle
Lower case a,b,c is side subtend 

eqn.rod172 has four lowercase sine 
sin(a), sin(b) , sin(b) , sin(c) 

Spherical triangle ∆ABC sine law
 sin(A)  sin(B)  sin(C)  1
 ------= ------= ------= - ---eqn.rod071
 sin(a)  sin(b)  sin(c)  k

<a name="a055_162">
where k is constant. From sine
law, we find next three equations
 sin(a)=k*sin(A) ---eqn.rod173
 sin(b)=k*sin(B) ---eqn.rod174
 sin(c)=k*sin(C) ---eqn.rod175
Please pay attention to uppercase
and lowercase difference.
Substitute above three equations 
to eqn.rod172 cancel constant k
Final equation is
 sin(C)n= ---eqn.rod176

<a name="alert002"> alert1
vertex angle A and B are given, 
vertex angle C is unknown.
First use eqn.rod115 solve for γ/2 
Then vertex C=180-γ/2 next step
use eqn.rod176 solve for n.

<a name="a055_163">
In eqn.rod176 change A,B,C to
half angle α/2, β/2, γ/2 
Change l to OA //l≡OA
Change m to OB //m≡OB

<a name="a055_164">
Combined rotation axis equation 
 (sin(γ/2)*OC)= ---eqn.rod177

<a name="a055_165">
Combined rotation angle equation 
 cos(γ/2)=cos(α/2)*cos(β/2) ---eqn.rod115

Up to here, both equations are
proved. The goal 
Use Rodrigues Construction to 
prove Euler's Rotation Theorem 
is done.
Thank Euler.
Thank Rodrigues.
Thank Simon L. Altmann
Thank reader for reading this page.
Liu,Hsinhan 劉鑫漢 
2011-06-27-21-21 stop a006272121

<a name="a055_167">
This file tute0055.htm has 
QBDraw,QCDraw,QDDraw but no 
QADraw. Start from 2011-06-14
to 2011-06-27 write study notes.
Working file was stud0008.htm
File size is over 500KBytes.
Decide to divide file to two.
tute0055.htm prove Euler's 
Rotation Theorem and
sphtrian.htm to draw spherical 
QADraw is in sphtrian.htm
<a name="a055_168">
This file tute0055.htm equation
number is eqn.rod001 to eqn.rod178
in which rod represent Rodrigues 
Initially intend upload one file
name as rodrigue.htm Equation name
follow file name. Now divide file 
to two smaller and not use 
rodrigue.htm, however, still keep
"rod" in equation number.
2011-06-28-10-30 stop

<a name="a055_169">
2011-06-30-08-06 start
Liu,Hsinhan write page, topic is
Use Rodrigues Construction to 
prove Euler's Rotation Theorem 
LiuHH has several goal
1st: prove Euler's Rotation Theorem
2nd: understand Rodrigues Construction 
3rd: derive quaternion multiplication

<a name="a055_170">
If reader concern only Euler's 
Rotation Theorem, there are several
alternatives. For example linear 
algebra, matrix theory. Prove two
rotation matrix multiplication 
still get rotation matrix and 
determine rotation matrix eigen 
value has a real one value. Its
corresponding eigen vector is 
rotation axis. See next equation
  Rv=v ---eqn.rod178
eqn.rod178 say 
vector after rotation (Rv) is same
as vector before rotation (v). 
Who else? only rotation axis has
this property.
Matrix method is simpler then this
file's geometric method. But matrix 
method can not understand Rodrigues 
Construction and can not understand
quaternion multiplication rule.
2011-06-30-08-30 here

Some web page say "we define 
quaternion multiplication rule
to be eqn.rod013 and eqn.rod014"
After write this file, it is clear
that quaternion multiplication 
has only one expression, not two.
  r=p*q ---eqn.rod012
When we do not have choice, it is
better do not say "define"

<a name="a055_172">
To derive quaternion multiplication 
rule eqn.rod013 and eqn.rod014 
that is always Liu,Hsinhan's wish.
Now it is done.
2011-06-30-08-38 stop a006300838

<a name="a055_173">
Liu,Hsinhan proofread this file 
four times. Chinese version twice
and English version twice. Found
two error "a006251804 correction"
and "a007031517 correction".
LiuHH can not promise the uploaded
version has no error. If you 
suspect any thing wrong, please 
ask a math expert near by.

<a name="a055_174">
2011-07-19-14-23 start
Update 2011-07-19 has two changes
1: add Rodrigues photo page link.
   In "EulerThm RodriguesCon"
   "Rod" link same as before
   "gue" link to Rodrigues photo.
2: Add textbook purchase record.

Liu,Hsinhan stopped computer work.
In the near future, LiuHH will not
upload new study notes.

<a name="a055_175">
LiuHH's computer monitor desk top
has ten row icons. Now top three
rows take upper half screen and 
bottom seven rows take lower half
screen. One line text in notepad,
If put line to top of screen, or
if put line to bottom of screen
top text height is five times of
bottom text height. Monitor is
not suitable for use. Now LiuHH 
can update short material. If 
monitor stop work someday. There
is no update in
2011-07-19-14-36 stop

<"reference"> Following is reference 2011-04-11-16-41 Olinde Rodrigues Construction This file page 6/12 has graph of Rodrigues Construction. 2011-04-12-15-27 Liu,Hsinhan access ... This file page 13/19 has graph of spherical triangle 2011-06-21-23-07 I. Todhunter total 189 pages 2011-06-23-13-51 Rob Johnson total 19 pages Above is English page Below is Chinese page 2011-06-29-00-17 2011-06-29-00-19 2011-06-29-01-08 2011-06-29-01-12 2011-06-29-01-23 <a name="textbookbuy"> 2011-07-19-14-00 start Textbook of this file is Simon L. Altmann Rotations, Quaternions, and Double Groups ISBN 0-486-44518-6 Purchase on 2006-07-06 Received on 2006-07-19 $12.97 Order ID=103-3725340-3275044 2011-07-19-14-08 stop

Javascript index   local
Save graph code to same folder as htm files.   local

file name tute0055.htm mean
TUTor, English, 55 th .htm
Chinese version is tutc0055.htm

This file Use Rodrigues Construction
to prove Euler's Rotation Theorem
First upload 2011-07-03

Thank you for visiting Freeman's page.
Freeman 2011-06-28-09-41

≦ ≠ ≧ <=>±≡≈≌≒∏∑√∛∜∝ →∞ ⊕⊙⊗
〈v,w〉 ∈ ∀∂⊥∃∋∆∇∟∠∫∬∭∮∥○●◎ 
§‰¼½¾ ⅓⅔⅕⅖⅗⅘⅙⅚⅛⅜⅝⅞⅟←↑→↓↔↕↖↗↘↙
■□ ▢▣▤▥▦▧▨▩▪▫ × ÷ ° ◦º¹²³ ⇒ ⇓ ⇔
ΪΫάέήίΰ αβγδεζηθικλμνξοπρςστυφχψω │┘│└
≭≮≯ ≰≱ ≲≳ ≴≵ ≶≷ ≸≹ "≺≻ ≼≽" '≾ ≿' ⊀⊁
!〈~゜〃【】〔〕(「」-《》 ,。『』、.?‧ ㄣ。,…﹕“
dot ‧ , cross × product