﻿ Rodrigues Construction Euler's Rotation Theorem 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

```
2011-06-28-10-00
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.

eqn.rod013 and eqn.rod014 are
Simon L. Altmann
Rotations, Quaternions,
and Double Groups
ISBN 0-486-44518-6
page 160, equation (7).
λ3=λ1λ2-Λ1‧Λ2 ---eqn.rod015
Λ3=λ1Λ2+λ2Λ1+Λ1×Λ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
lrcphysics.com 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
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).
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)

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
One forward, one backward, globally,
location. Although OC is unknown,
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

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.
<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
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">
QBDraw

```<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
QCDraw
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
E.
<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
<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
OD*OD+OE*OE-2*OD*OE*cos(a)
//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
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">
OA/OD=cos(∠AOD)=cos(c) ---eqn.rod025

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
=cos(c)*cos(b)+sin(c)*sin(b)*cos(A)
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
[cos(a)-cos(b)*cos(c)]/[sin(b)*sin(c)]
Similarly, find equation for
vertex B and C
cos(B)= ---eqn.rod031
[cos(b)-cos(c)*cos(a)]/[sin(c)*sin(a)]
cos(C)= ---eqn.rod032
[cos(c)-cos(a)*cos(b)]/[sin(a)*sin(b)]
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)*cos(c)+[sin(b)*sin(c)]*cos(A)
cos(b)= ---eqn.rod034
+cos(c)*cos(a)+[sin(c)*sin(a)]*cos(B)
cos(c)= ---eqn.rod035
+cos(a)*cos(b)+[sin(a)*sin(b)]*cos(C)
2011-06-22-22-51 stop //a006222251

<a name="a055_038">
2011-06-23-22-32 start
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
infinity.
<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.
∆ABC has AB side greater than 90
degree.
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.
First
[newB],A,[oldB] three points are
on one great circle.
∠[newB]AC+∠[oldB]AC=π (180 deg.)
∠[newB]AC=π-∠[oldB]AC
∠[new]vertex angle A=
π-∠[old]vertex angle A
<a name="a055_042">
[new]A=π-[old]A=π-A ---eqn.rod036
Similarly
A[newB]side=π-A[oldB]side,
[new]acute angle=π-[old]obtuse angle
C[newB]side=π-C[oldB]side,
[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
[cos(π-a)-cos(b)*cos(π-c)]/[sin(b)*sin(π-c)]
// sin(PI-α)=+sin(α) ---eqn.rod043
// cos(PI-α)=-cos(α) ---eqn.rod044
-cos(A)= ---eqn.rod045 //a006251804 correction
[-cos(a)-cos(b)*(-cos(c))]/[sin(b)*(+sin(c))]
Above equation cancel a '-' get
cos(A)= ---eqn.rod046
[+cos(a)-cos(b)*cos(c)]/[sin(b)*sin(c)]
compare with
cos(A)= ---eqn.rod030
[cos(a)-cos(b)*cos(c)]/[sin(b)*sin(c)]
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
moon.
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(a)-cos(b)*cos(c)]/[sin(b)*sin(c)]
cos(B)= ---eqn.rod031
[cos(b)-cos(c)*cos(a)]/[sin(c)*sin(a)]
cos(C)= ---eqn.rod032
[cos(c)-cos(a)*cos(b)]/[sin(a)*sin(b)]
Equation left side are all uppercase
A,B,C. Right side are all lowercase
a,b,c.
<a name="a055_049">
If reverse the role of uppercase
and lowercase. next three equation
are true? or not?
cos(a)= ---eqn.rod047
[cos(A)＋cos(B)*cos(C)]/[sin(B)*sin(C)]
cos(b)= ---eqn.rod048
[cos(B)＋cos(C)*cos(A)]/[sin(C)*sin(A)]
cos(c)= ---eqn.rod049
[cos(C)＋cos(A)*cos(B)]/[sin(A)*sin(B)]
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)*cos(C)+[sin(B)*sin(C)]*cos(a)
cos(B)= ---eqn.rod051
－cos(C)*cos(A)+[sin(C)*sin(A)]*cos(b)
cos(C)= ---eqn.rod052
－cos(A)*cos(B)+[sin(A)*sin(B)]*cos(c)
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">
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.
a006252008
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

<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
properties
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
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
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.

<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
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.
90+90=180

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
get
cos(L)= ---eqn.rod067
[cos(l)-cos(m)*cos(n)]/[sin(m)*sin(n)]
Use summary relations
eqn.rod067 become
cos(PI-a)= ---eqn.rod068
[cos(PI-A)-cos(PI-B)*cos(PI-C)]/[sin(PI-B)*sin(PI-C)]
Refer to eqn.rod043 and eqn.rod044
get
-cos(a)= ---eqn.rod069
[-cos(A)-cos(B)*cos(C)]/[sin(B)*sin(C)]
<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">
QCDraw﹕

```<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">
cos(A)= ---eqn.rod030
[cos(a)-cos(b)*cos(c)]/[sin(b)*sin(c)]
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－ [ cos(a)－cos(b)*cos(c) sin(b)*sin(c) ] 2
 = sin2(b)*sin2(c)－[cos(a)－cos(b)*cos(c)]2 sin2(b)*sin2(c) = [1－c2(b)]*[1－c2(c)] －[c2(a)－2*c(a)*c(b)*c(c)+c2(b)*c2(c)] sin2(b)*sin2(c) = 1-c2(b)-c2(c)+c2(b)*c2(c) -c2(a)+2*c(a)*c(b)*c(c)-c2(b)*c2(c) sin2(b)*sin2(c) = 1－cos2(a)－cos2(b)－cos2(c) +2*cos(a)*cos(b)*cos(c) sin2(b)*sin2(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.
 sin2(A) sin2(a) = 1－c2(a)－c2(b)－c2(c) +2*c(a)*c(b)*c(c) sin2(a)*sin2(b)*sin2(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
sin2(A)/sin2(a)=sin2(B)/sin2(b)=sin2(C)/sin2(c)
<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×m‧n)*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
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?
```
<a name="QDDraw">
QDDraw﹕

```<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
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)
+j(c1*a1*b2-0*c3)
+k(0*c2-0*c1)

<a name="a055_083">
= i(-c2*a1*b2)
+j(c1*a1*b2)
+k(0) ---eqn.rod083
that is //next line ---eqn.rod084
(OA×OB)×OC=(-c2*a1*b2,c1*a1*b2,0)

<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

<a name="a055_085">
The following is right side of
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
equality.
eqn.rod087 is result of y component
equality.
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
reasonable.

<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=-n*b1-a1*b2*c2
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
reasonable"
Here, "Can we cancel a1 ?" can
you figure out the reason?
m=-b1*c1-b2*c2
m=-(b1*c1+b2*c2)
m=-(b1*c1+b2*c2+ 0*c3)
m=-(b1*c1+b2*c2+b3*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
+(OA‧OC)OB-(OB‧OC)OA
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
+(OA‧OC)OB-(OA‧OB)OC
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×m‧n)*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
+(OA‧OC)*OB-(OB‧OC)*OA
to prove eqn.rod094
In eqn.rod094 define
OP=(OL×ON) ---eqn.rod095
eqn.rod094 left hand become
(OL×OM)×OP
<a name="a055_094">
Refer to eqn.rod092 write the
following
(OL×OM)×OP= ---eqn.rod096
-(OM‧OP)*OL+(OL‧OP)*OM
Recover OP get
(OL×OM)×(OL×ON)= ---eqn.rod097
-[OM‧(OL×ON)]*OL
+[OL‧(OL×ON)]*OM
In OL‧(OL×ON) , OL show up twice
therefore
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)]*OL
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
+(OL×OM‧ON)*OL
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)
get
sin(A)/sin(a) ---eqn.rod105
=OL×OM‧ON/[sin(a)*sin(b)*sin(c)]
<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(A)/sin(a)
=sin(B)/sin(b)
=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
+sin(A)*sin(B)*(OL‧OM)
and page 159 equation (15)
sin(C)*ON= ---eqn.rod108
sin(A)*cos(B)*OL
+cos(A)*sin(B)*OM
+sin(A)*sin(B)*(OL×OM)

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
Second rotation use OA as axis
Euler's Rotation Theorem say:
Two rotations can be merged to
one rotation, use OC as axis
(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">
l‧m IS OL‧OM IS OA‧OB
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, l‧m 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
sin(A)*cos(B)*OL
+cos(A)*sin(B)*OM
+sin(A)*sin(B)*(OL×OM)
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
sin(A)*cos(B)*OA
+cos(A)*sin(B)*OB
+sin(A)*sin(B)*(OA×OB)
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
scalar.
Merged rotation axis must be
vector.
First check rotation angle
cos(C)=-cos(A)*cos(B) ---eqn.rod107
+sin(A)*sin(B)*(OL‧OM)
Because OL≡OA OM≡OB,
re-write as next
cos(C)=-cos(A)*cos(B) ---eqn.rod110
+(sin(A)*OA)‧(sin(B)*OB)

<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
(sin(A)*OA)‧(sin(B)*OB)
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
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
(sin(C)*OC)= ---eqn.rod111
cos(B)*(sin(A)*OA)
+cos(A)*(sin(B)*OB)
+(sin(A)*OA)×(sin(B)*OB)
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
reasonable.

<a name="a055_109">
Why group sine with vector as one
unit? See next.
(sin(A)*OA),(sin(B)*OB),
(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
q=[cos(α/2);sin(α/2)*a1,
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
（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
+sin(A)*sin(B)*(OL‧OM)
that is
cos(C)=-cos(A)*cos(B) ---eqn.rod110
+(sin(A)*OA)‧(sin(B)*OB)
<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
eqn.rod110
<a name="a055_113">
On the other hand (merged angle)
cos(γ/2)=＋cos(α/2)*cos(β/2) ---eqn.rod115
－(sin(α/2)*OA)‧(sin(β/2)*OB)
compare with next (not relate
to rotation)
cos(C)=－cos(A)*cos(B) ---eqn.rod110
＋(sin(A)*OA)‧(sin(B)*OB)
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">
two equations differ by a negative
sign which is correct.
Because vertex angle C is
interior angle of ∆ABC, but
γ/2 is exterior angle to C
<a name="a055_115">
Interior + exterior = 180
cos(C)=cos(180-γ/2)=-cos(γ/2)

When study, find question, need
to know its answer. Four years
know why, but did not write down.
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
sin(A)*cos(B)*OL
+cos(A)*sin(B)*OM
+sin(A)*sin(B)*(OL×OM)

<a name="a055_117">
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?
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
+g*OB+h*(OA×OB)
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
multiplication
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
relations.
//Remind: [‧] is vector dot product.
l‧l*=l*‧l=1 ---eqn.rod120
m‧m*=m*‧m=1 ---eqn.rod121
p‧p*=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
vectors.
<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
l*‧n=f1+g0+h0
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
Similarly,
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
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
require
l*=km×p ---eqn.rod133
Base on eqn.rod120 require
l*‧l=
1=km×p‧l ---eqn.rod134
<a name="a055_132">
Solve for k get
k=1/(l‧m×p) ---eqn.rod135
substitute k to eqn.rod133 for l*
l*=m×p/(l‧m×p) ---eqn.rod136
substitute l* to eqn.rod130 for f
f=[m×p/(l‧m×p)]‧n
f=[m×p]‧n/(l‧m×p) ---eqn.rod137
<a name="a055_133">
Similarly //[l×p]‧n error
g=[p×l]‧n/(l‧m×p) ---eqn.rod138
and //[m×l]‧n error
h=[l×m]‧n/(l‧m×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 = n‧m×p l‧m×p l + n‧p×l m‧p×l m + n‧l×m p‧l×m p
---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 = n‧m×(l×m) l‧m×(l×m) l + n‧(l×m)×l m‧(l×m)×l m + n‧l×m (l×m)‧l×m (l×m)
---Simon L. Altmann ---page 159 top, omitted ---eqn.rod141
width of above equation
```<"a055_136"> link1()
2011-06-27-16-15 here
eqn.rod141 right side first
denominator (red) is
l‧m×(l×m)
This is vector l dot vector
m×(l×m), use
OA×(OB×OC)= ---eqn.rod093
+(OA‧OC)OB-(OA‧OB)OC
<a name="a055_137">
calculate as following
l‧m×(l×m)
=l‧[(m‧m)l-(m‧l)m]
=(m‧m)l‧l-(m‧l)l‧m
=1-(m‧l)2 ---eqn.rod142

<a name="a055_138">
where m‧m=1  ---eqn.rod143
and  l‧l=1  ---eqn.rod144
We require l m n all be
length are all one.
eqn.rod141 right side second
denominator (blue) is
m‧(l×m)×l
This is vector m dot vector
(l×m)×l. use
(OA×OB)×OC= ---eqn.rod092
+(OA‧OC)OB-(OB‧OC)OA
<a name="a055_139">
calculate as following
m‧(l×m)×l
=m‧[(l‧l)m-(m‧l)l]
=m‧(l‧l)m-m‧(m‧l)l
=(l‧l)m‧m-m‧l(m‧l)
=1-(m‧l)2 ---eqn.rod145

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

Here, get all three denominators
in eqn.rod141 be
1-(m‧l)2
Re-arrange eqn.rod141 get
2011-06-27-16-50 here
```
<a name="a055_142">
 n = [n‧m×(l×m)]l +[n‧(l×m)×l]m +[n‧l×m](l×m) 1-(m‧l)2
---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
n‧m×(l×m) ---eqn.rod148
=n‧[(m‧m)l-(m‧l)m]
=n‧l-(m‧l)(n‧m) //(m‧m)=1

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

Substitute eqn.rod148 and eqn.rod149
to eqn.rod147 get an expression
without three vector cross product.
```
<a name="a055_145">
 n = [n‧l-(m‧l)(n‧m)]l +[n‧m-(m‧l)(n‧l)]m +[n‧l×m](l×m) 1-(m‧l)2
---eqn.rod150
---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
[n‧l-(m‧l)(n‧m)] ---eqn.rod151
[n‧m-(m‧l)(n‧l)] ---eqn.rod152
[n‧l×m] ---eqn.rod153
1-(m‧l)2 ---eqn.rod154
This file use multiple expression
l≡OA ---eqn.rod155
m≡OB ---eqn.rod156
n≡OC ---eqn.rod157

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.
a007051419

<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
to OA,OB,OC.

<a name="a055_149">
|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">
graph show that
OC‧OA=cos(b) ---eqn.rod163
OB‧OA=cos(c) ---eqn.rod164
OC‧OB=cos(a) ---eqn.rod165
therefore
[OC‧OA-(OB‧OA)(OC‧OB)] ---eqn.rod158
become
cos(b)-cos(c)cos(a) ---eqn.rod166

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

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

1-(OB‧OA)2 ---eqn.rod161
become
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
[cos(b)-cos(c)cos(a)]l
+[cos(a)-cos(c)cos(b)]m
+[sin(c)*sin(b)*sin(A)](l×m)
//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 = sin(a) sin(a) [cos(b)-cos(c)cos(a)]l sin(c) + sin(b) sin(b) [cos(a)-cos(c)cos(b)]m sin(c) + [sin(c)*sin(b)*sin(A)](l×m) sin(c)
---eqn.rod171
---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 = sin(a) [cos(b)-cos(c)cos(a)] l sin(c)sin(a) + sin(b) [cos(a)-cos(c)cos(b)]m sin(c)sin(b) + sin(b) [sin(A)](l×m)
---eqn.rod172
---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(a)-cos(b)*cos(c)]/[sin(b)*sin(c)]
cos(B)= ---eqn.rod031
[cos(b)-cos(c)*cos(a)]/[sin(c)*sin(a)]

<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
angle.

eqn.rod172 has four lowercase sine
terms
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
and lowercase difference.
Substitute above three equations
to eqn.rod172 cancel constant k
Final equation is
sin(C)n= ---eqn.rod176
sin(A)cos(B)l+cos(A)sin(B)m
+sin(A)sin(B)(l×m)

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.
a007051426

<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
is
(sin(γ/2)*OC)= ---eqn.rod177
cos(β/2)*(sin(α/2)*OA)
+cos(α/2)*(sin(β/2)*OB)
+(sin(α/2)*OA)×(sin(β/2)*OB)

<a name="a055_165">
Combined rotation angle equation
is
cos(γ/2)=＋cos(α/2)*cos(β/2) ---eqn.rod115
－(sin(α/2)*OA)‧(sin(β/2)*OB)

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
Liu,Hsinhan 劉鑫漢
2011-06-27-21-21 stop a006272121

<a name="a055_167">
2011-06-28-10-18
This file tute0055.htm has
QBDraw,QCDraw,QDDraw but no
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
triangle.
<a name="a055_168">
This file tute0055.htm equation
number is eqn.rod001 to eqn.rod178
in which rod represent Rodrigues
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
rule.

<a name="a055_170">
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">
2011-07-03-15-30
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
ask a math expert near by.
2011-07-03-15-35

<a name="a055_174">
2011-07-19-14-23 start
Update 2011-07-19 has two changes
In "EulerThm RodriguesCon"

Liu,Hsinhan stopped computer work.
In the near future, LiuHH will not

<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 freeman2.com
Goodby.
Liu,Hsinhan
2011-07-19-14-36 stop

Following is reference

2011-04-11-16-41 Olinde Rodrigues Construction
http://calclab.math.tamu.edu/~rahe/2008a_664_700720/rotations.pdf
This file page 6/12 has graph of
Rodrigues Construction.

2011-04-12-15-27 Liu,Hsinhan access
lrcphysics.com ...
This file page 13/19 has graph of
spherical triangle

2011-06-21-23-07
I. Todhunter total 189 pages
http://lgdata.s3-website-us-east-1.amazonaws.com/docs/1336/243192/19770-pdf.pdf

2011-06-23-13-51
Rob Johnson total 19 pages
http://www.whim.org/nebula/math/pdf/spheretrig.pdf

Above is English page
Below is Chinese page

2011-06-29-00-17
http://www.fengshui-chinese.com/non-cgi/usrRMnOEMvH8/61/59/sanjiao_1124797424.pdf

2011-06-29-00-19

2011-06-29-01-08
http://episte.math.ntu.edu.tw/articles/ar/ar_wy_geo_07/page2.html
2011-06-29-01-12
http://episte.math.ntu.edu.tw/articles/ar/ar_wy_geo_07/index.html

2011-06-29-01-23
http://www.math.sinica.edu.tw/math_media/d281/28104.pdf

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
Amazon.com \$12.97
Order ID=103-3725340-3275044
2011-07-19-14-08 stop
```

Javascript index
http://freeman2.com/jsindex2.htm   local
Save graph code to same folder as htm files.
http://freeman2.com/jsgraph2.js   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
http://freeman2.com/tute0055.htm

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

≦ ≠ ≧ ＜＝＞±≡≈≌≒∏∑√∛∜∝ →∞ ⊕⊙⊗
〈v,w〉 ∈ ∀∂⊥∃∋∆∇∟∠∫∬∭∮∥○●◎
∧∨∩∪∴∵∶∷⊂⊃⊄⊅⊆⊇⊿＋－＊／
§‰¼½¾ ⅓⅔⅕⅖⅗⅘⅙⅚⅛⅜⅝⅞⅟←↑→↓↔↕↖↗↘↙
■□　▢▣▤▥▦▧▨▩▪▫ × ÷ ° ◦º¹²³　⇒　⇓　⇔
ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ΢ΣΤΥΦΧΨΩ ┌│┐│
ΪΫάέήίΰ　αβγδεζηθικλμνξοπρςστυφχψω │┘│└
≭≮≯ ≰≱ ≲≳ ≴≵ ≶≷ ≸≹ "≺≻ ≼≽" '≾ ≿' ⊀⊁
！〈～゜〃【】〔〕（「」-《》 ，。『』、．？‧ ㄣ。，…﹕“
dot ‧ , cross × product