GraphingCalculator 4; Window 45 0 861 1440; PaneDivider 471; FontSizes 18; BackgroundType 0; StackPanes 1; Slider 0 100; SliderSteps 500; SliderControlValue 136; 3D.X -4 4; 3D.Y -4 4; 3D.Z -4 4; 3D.Axes 0; 3D.Depth 0.65330909743; 3D.View 0.9058885371704375 -0.3276715706019149 -0.2683231263237163 0.3138409585667903 0.9447910230578533 -0.09420071949104517 0.2843761787259937 0.001124564809011539 0.9587121175852412; 3D.Speed 0; Text "Euler rotations. Blue vectors are the space-fixed basis. Red are the body-fixed axes specified by Euler angles (phi, theta, psi) relative to the space-fixed axes. This file implements both the so-called x- and y-conventions for Euler angles. Note that the intermediate rotation matrices are a little more subtle than the composite rotations may suggest. [See notes for details, but the gist is that the second and third rotations are not defined relative to the space-fixed frame and do not by themselves have a simple form relative to it. To be written in the space frame they must be transformed. The evidence of this largely disappears when they are composed, except for the fact that the individual transformations appear in the opposite order from what you may expect in the result.] References: H. Goldstein, Classical Mechanics 3/e J.J. Sakurai, Modern Quantum Mechanics 2/e E. Weisstein, Mathworld Version 0.21 2-4-15 To do: (i) Other conventions (e.g. pitch-roll-yaw)? (ii) Implement via rotation formula? [See notes for details.] E – Euler rotation (space->body axes); p,T,P – Euler angles phi, theta, and psi (x-convention); R_X/Y – intermediate (theta) rotation in x/y convention; R_Z – final (psi) rotation; R1, R2, R3 – rotations about x,y,z; E_X/Y – full Euler Rotation; "; Color 4; Expr a=slider([0,1]); Expr b=slider([0,1]); Color 3; Expr c=slider([0,1]); Color 5; Expr P=2*pi*c,T=pi*b,p=2*pi*a; Text " Rotations about individual axes:"; Color 3; Expr function(R_1,A)=matrix(3,3,1,0,0,0,cos(A),-sin(A),0,sin(A),cos(A)),function(R_2,A)=matrix(3,3,cos(A),0,-sin(A),0,1,0,sin(A),0,cos(A)),function(R_3,A)=matrix(3,3,cos(A),-sin(A),0,sin(A),cos(A),0,0,0,1); Color 5; Expr function(R_X,p,T)=function(R_3,p)*function(R_1,T); Color 6; Expr function(R_Y,p,T)=function(R_3,p)*function(R_2,T); Color 2; Expr function(E_X,p,T,P)=function(R_3,p)*function(R_1,T)*function(R_3,P); Color 8; Expr function(E_Y,p,T,P)=function(R_3,p)*function(R_2,T)*function(R_3,P); Text "Space-frame basis:"; Expr I=vector(1,0,0),J=vector(0,1,0),K=vector(0,0,1),O=vector(0,0,0); Text "Sets scale of frames:"; Color 2; MathPaneSlider 99; Expr s=slider([1,5]); Color 7; MathPaneSlider 30; Expr D=slider([0,0.1]); Text "Space-fixed basis:"; Color 3; Expr O,I*s,'radius'=D; Color 3; Expr O,J*s,'radius'=D; Color 3; Expr O,K*s,'radius'=D; Text "First Euler rotation [p about space z-axis]:"; Color 6; Expr O,function(R_3,p)*I*s,'radius'=D; Color 5; Expr O,function(R_3,p)*J*s,'radius'=D; Color 17; Expr function(R_3,2*pi*t)*I*s; Color 8; Expr function(R_3,p*t)*I*s; Color 10; Grain 0.15; Expr function(R_3,p*u)*I*s*v; Text "Second Euler rotation [T about intermediate X/Y axis]:"; Color 2; Expr O,function(R_X,p,T)*K*s,'radius'=D; Color 6; Expr O,function(R_X,p,T)*J*s,'radius'=D; Color 4; Expr function(R_X,p,T*t)*K*s; Text "Third Euler rotation [P about intermediate=final z-axis]:"; Color 2; Expr O,function(E_X,p,T,P)*I*s,'radius'=D; Color 2; Expr O,function(E_X,p,T,P)*J*s,'radius'=D; Color 17; Expr function(E_X,p,T,2*pi*t)*I*s; Color 8; Expr function(E_X,p,T,P*t)*I*s; Color 10; Grain 0.4; Expr function(E_X,p,T,P*u)*I*s*v; Text " Author: David A. Craig <"; PageMargins 72 72 72 72;