{VERSION 5 0 "IBM INTEL NT" "5.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 1 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 1 }{CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 256 "" 1 24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{PSTYLE "Normal " -1 0 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Heading 1" -1 3 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 2 2 2 2 1 1 1 1 }1 1 0 0 8 4 1 0 1 0 2 2 0 1 }{PSTYLE "Warning" -1 7 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 2 2 2 2 2 1 1 1 3 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Maple Out put" -1 11 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }3 3 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Maple Output" -1 12 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 3 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Bullet Item" -1 15 1 {CSTYLE "" -1 -1 "Tim es" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 1 0 0 3 3 1 0 1 0 2 2 15 2 } {PSTYLE "Normal" -1 256 1 {CSTYLE "" -1 -1 "Times" 1 24 0 0 0 1 2 1 2 2 2 2 1 1 1 1 }3 1 0 0 0 0 1 0 1 0 2 2 0 1 }} {SECT 0 {EXCHG {PARA 256 "" 0 "" {TEXT -1 8 "Groupe o" }{TEXT 256 0 " " }{TEXT -1 9 "rthogonal" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "restart:with(linalg):" }}{PARA 7 "" 1 "" {TEXT -1 80 "Warning, the pr otected names norm and trace have been redefined and unprotected\n" }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "?crossprod" }}}{EXCHG {PARA 15 "" 0 "" {TEXT -1 147 "This function computes the vector cross -product of u and v, defined to be vector([u[2]*v[3]-u[3]*v[2], u[3]*v [1]-u[1]*v[3], u[1]*v[2]-u[2]*v[1]]). " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "?dotprod" }}}{EXCHG {PARA 15 "" 0 "" {TEXT -1 214 "If \+ called with only two arguments, dotprod computes the vector dot produc t using the standard definition for a vector space over the complex fi eld: sum u[i]*conjugate(v[i]), as i ranges over the length of u and v. " }}{PARA 15 "" 0 "" {TEXT -1 169 "If the third argument 'orthogonal' is specified, dotprod will compute the vector dot product using the d efinition: sum u[i]*v[i], as i ranges over the length of u and v." }}} {SECT 0 {PARA 3 "" 0 "" {TEXT -1 24 "Double produit vectoriel" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 66 "a:=vector([a1,a2,a3]):b:=vec tor([b1,b2,b3]):c:=vector([c1,c2,c3]):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "crossprod(a,crossprod(b,c));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'vectorG6#7%,&*&%#a2G\"\"\",&*&%#b1GF*%#c2GF*F**&%#b2 GF*%#c1GF*!\"\"F*F**&%#a3GF*,&*&%#b3GF*F1F*F**&F-F*%#c3GF*F2F*F2,&*&F4 F*,&*&F0F*F9F*F**&F7F*F.F*F2F*F**&%#a1GF*F+F*F2,&*&F@F*F5F*F**&F)F*F " 0 "" {MPLTEXT 1 0 59 "evalm(dotprod(a,c,or thogonal)*b-dotprod(a,b,orthogonal)*c);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#-%'vectorG6#7%,&*&,(*&%#a1G\"\"\"%#c1GF,F,*&%#a2GF,%#c2GF,F,*&%# a3GF,%#c3GF,F,F,%#b1GF,F,*&,(*&F+F,F4F,!\"\"*&F/F,%#b2GF,F8*&F2F,%#b3G F,F8F,F-F,F,,&*&F)F,F:F,F,*&F6F,F0F,F,,&*&F)F,F " 0 "" {MPLTEXT 1 0 12 "evalm(%-%%);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#-%'vectorG6#7%,**&,(*&%#a1G\"\"\"%#c1GF,F,*&%#a2GF ,%#c2GF,F,*&%#a3GF,%#c3GF,F,F,%#b1GF,F,*&,(*&F+F,F4F,!\"\"*&F/F,%#b2GF ,F8*&F2F,%#b3GF,F8F,F-F,F,*&F/F,,&*&F4F,F0F,F,*&F:F,F-F,F8F,F8*&F2F,,& *&FF,F,,**&F)F,F " 0 "" {MPLTEXT 1 0 12 "simplify(%) ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'vectorG6#7%\"\"!F'F'" }}}} {SECT 0 {PARA 3 "" 0 "" {TEXT -1 33 "Analyse d'une matrice de rotation " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "restart:with(linalg):" } }{PARA 7 "" 1 "" {TEXT -1 80 "Warning, the protected names norm and tr ace have been redefined and unprotected\n" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 50 "A:=<<2 | 1 | 2> , <-2 | 2 | 1> , <-1 | -2 | 2>>/3; " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"AG-%'RTABLEG6$\"(cRj%-%'MATRIX G6#7%7%#\"\"#\"\"$#\"\"\"F0F.7%#!\"#F0F.F17%#!\"\"F0F4F." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "evalm(transpose(A)&*A);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7%7%\"\"\"\"\"!F)7%F)F(F)7%F)F)F (" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 7 "det(A);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"\"" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 113 "A \+ est donc dans SO3(R).\nPour g\351n\351rer une matrice identit\351 sous Maple 7, on peut utiliser Matrix(n,shape=identity)" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "kernel(A-Matrix(3,shape=identity));" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#<#-%'vectorG6#7%\"\"\"!\"\"F(" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "v:=op(%):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "arccos((trace(A)-1)/2);" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#,$%#PiG#\"\"\"\"\"$" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 48 "w:=vector([1,1,0]):dotprod(A&*w,crossprod(v,w));" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#!\"$" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 106 "Si on oriente Rv par v, l'angle de la rotation est alors -Pi/3 . Si on oriente par -v, l'angle sera Pi/3..." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 299 "analyse_rotation:=proc(A)\nlocal v0,theta,w:\nv 0:=op(kernel(A-Matrix(3,shape=identity))):\ntheta:=arccos((trace(A)-1) /2);\nif v0[1]=0 then w:=vector([1,0,0]) else w:=vector([v0[2],-v0[1], 0]) fi:\nif evalf(dotprod(A&*w,crossprod(v0,w)))>0 then RETURN(evalm(v 0),theta) else RETURN(evalm(-v0),theta) fi\nend;" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%1analyse_rotationGf*6#%\"AG6%%#v0G%&thetaG%\"wG6\"F,C &>8$-%#opG6#-%'kernelG6#,&9$\"\"\"-%'MatrixG6$\"\"$/%&shapeG%)identity G!\"\">8%-%'arccosG6#,&-%&traceG6#F7#F8\"\"##F8FKF@@%/&F/6#F8\"\"!>8&- %'vectorG6#7%F8FQFQ>FS-FU6#7%&F/6#FK,$FOF@FQ@%2FQ-%&evalfG6#-%(dotprod G6$-%#&*G6$F7FS-%*crossprodG6$F/FS-%'RETURNG6$-%&evalmG6#F/FB-Fho6$-F[ p6#,$F/F@FBF,F,F," }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 61 "Cette proc \351dure ne marchera que pour de \"vraies\" rotations..." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "analyse_rotation(A);" }}{PARA 11 " " 1 "" {XPPMATH 20 "6$-%'vectorG6#7%!\"\"\"\"\"F',$%#PiG#F(\"\"$" }}}} {SECT 0 {PARA 3 "" 0 "" {TEXT -1 38 "Construction d'une matrice de rot ation" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "restart:with(linalg ):" }}{PARA 7 "" 1 "" {TEXT -1 80 "Warning, the protected names norm a nd trace have been redefined and unprotected\n" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 53 "v:=vector([x,y,z]):theta:=2*Pi/3:v0:=vector([1 ,1,1]):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 117 "evalm(dotprod(v ,v0,orthogonal)/3*v0+cos(theta)*(v-dotprod(v,v0,orthogonal)/3*v0)+sin( theta)*crossprod(v0,v)/sqrt(3));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-% 'vectorG6#7%%\"zG%\"xG%\"yG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "genmatrix(convert(%,list),[x,y,z]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7%7%\"\"!F(\"\"\"7%F)F(F(7%F(F)F(" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 273 "generateur_exo:=proc(v0,theta)\nlocal v, nv0,x,y,z;\nv:=vector([x,y,z]):nv0:=sqrt(dotprod(v0,v0,orthogonal)): R ETURN(genmatrix(convert(evalm(dotprod(v,v0,orthogonal)/nv0^2*v0+cos(th eta)*(v-dotprod(v,v0,orthogonal)/nv0^2*v0)+sin(theta)*crossprod(v0,v)/ nv0),list),[x,y,z]))\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 39 "generateur_exo(vector([1,-1,1]),-Pi/3);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7%7%#\"\"#\"\"$#\"\"\"F*F(7%#!\"#F*F(F+7%#! \"\"F*F.F(" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 12 "Ca marche..." }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 60 "analyse_rotation(matrix([[0, 0, 1], [1, 0, 0], [0, 1, 0]]));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$-% 'vectorG6#7%\"\"\"F'F',$%#PiG#\"\"#\"\"$" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 61 "analyse_rotation(generateur_exo(vector([-45,17,130]), Pi/19));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$-%'vectorG6#7%#!#X\"#<\"\" \"#\"$I\"F),$%#PiG#F*\"#>" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 12 "Trop fort..." }}}}}{MARK "7 5 0 0" 70 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 } {PAGENUMBERS 1 1 1 33 1 1 }{RTABLE_HANDLES 4633956 }{RTABLE M7R0 I4RTABLE_SAVE/4633956X,%)anythingG6"6"[gl!"%!!!#*"$"$#""#""$#!"#F)#!""F)#"""F)F 'F*F'F.F'F& }