# A := latitude. # B := longitude # T := theta > zB := <|<-sin(B),cos(B),0>|<0,0,1>>; zmB := simplify(MI(zB)); [cos(B) -sin(B) 0] zB = [sin(B) cos(B) 0] [ 0 0 1] [ cos(B) sin(B) 0] zmB = [-sin(B) cos(B) 0] [ 0 0 1] > xT := <<1,0,0>|<0,cT,sT>|<0,-sT,cT>>; [1 0 0 ] xT = [0 cT -sT] [0 sT cT] > yA := <|<0,1,0>|>; ymA := simplify(MI(yA)); [ cos(A) 0 sin(A)] yA = [ 0 1 0 ] [-sin(A) 0 cos(A)] [cos(A) 0 -sin(A)] ymA = [ 0 1 0 ] [sin(A) 0 cos(A)] > rotTatAB := zB . yA . xT . ymA . zmB ; rotTatAB = [ 2 [(cos(B) cos(A) + (sin(B) sT + cos(B) sin(A) cT) sin(A)) cos(B) - (-sin(B) cT + cos(B) sin(A) sT) sin(B) , 2 (cos(B) cos(A) + (sin(B) sT + cos(B) sin(A) cT) sin(A)) sin(B) + (-sin(B) cT + cos(B) sin(A) sT) cos(B) , ] -cos(B) cos(A) sin(A) + (sin(B) sT + cos(B) sin(A) cT) cos(A)] [ 2 [(sin(B) cos(A) + (-cos(B) sT + sin(B) sin(A) cT) sin(A)) cos(B) - (cos(B) cT + sin(B) sin(A) sT) sin(B) , 2 (sin(B) cos(A) + (-cos(B) sT + sin(B) sin(A) cT) sin(A)) sin(B) + (cos(B) cT + sin(B) sin(A) sT) cos(B) , ] -sin(B) cos(A) sin(A) + (-cos(B) sT + sin(B) sin(A) cT) cos(A)] [ [(-sin(A) cos(A) + cos(A) cT sin(A)) cos(B) - cos(A) sT sin(B) , (-sin(A) cos(A) + cos(A) cT sin(A)) sin(B) + cos(A) sT cos(B) , 2 2 ] sin(A) + cos(A) cT] > subrotTatAB := subs({cos(A) = cA,cos(B) = cB, sin(A) = sA, sin(B) = sB}, rotTatAB) ; subrotTatAB = [ ] [ 2 2 2 2 2 2 ] [cA cB - cT cA cB + cT , sB cB cA + sA sT - cB sB cT cA , cA (-cB sA + sB sT + cB sA cT)] [ ] [ ] [ 2 2 2 2 2 2 2 2 ] [sB cB cA - cB sB cT cA - sA sT, cA - cA cB + cT - cA cT + cT cA cB , -cA (sB sA + cB sT - sB sA cT)] [ ] [ ] [ 2 2 ] [cA (-cB sA + cB sA cT - sB sT) , cA (-sB sA + sB sA cT + cB sT) , cA cT + 1 - cA ] [ ]