{VERSION 3 0 "APPLE_PPC_MAC" "3.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 }{CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 } {PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Text Output" -1 2 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 0 0 0 0 0 1 3 0 3 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Heading 1" 0 3 1 {CSTYLE "" -1 -1 "" 1 18 0 0 0 0 0 1 0 0 0 0 0 0 0 }1 0 0 0 8 4 0 0 0 0 0 0 -1 0 }{PSTYLE "Warning" 2 7 1 {CSTYLE "" -1 -1 "" 0 1 0 0 255 1 0 0 0 0 0 0 1 0 0 } 0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Maple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }} {SECT 0 {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "with(linalg):" }} {PARA 7 "" 1 "" {TEXT -1 32 "Warning, new definition for norm" }} {PARA 7 "" 1 "" {TEXT -1 33 "Warning, new definition for trace" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 34 "Intersecting a Ray with a Cylinder" }}{PARA 0 "" 0 "" {TEXT -1 111 "Consider a cylinder with cross section in the xy plane a nd unit radius. It has the following implicit equation" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "ceq1 := x^2+y^2=1: ceq1;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/,&*$)%\"xG\"\"#\"\"\"\"\"\"*$)%\"yGF(F)F*F* " }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 143 "Observe that all values of z are legal. To find the intersection, solve intersect the equation fo r the ray with the equation for the cylinder." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 85 "ray1 := matrix(3,1, [x[0], y[0], z[0]]) + t * ma trix(3,1, [dx, dy, dz]):\nP(t) = ray1;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/-%\"PG6#%\"tG,&-%'matrixG6#7%7#&%\"xG6#\"\"!7#&%\"yGF07#&%\"zGF 0\"\"\"*&F'F8-F*6#7%7#%#dxG7#%#dyG7#%#dzGF8F8" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 154 "PS := matrix(3,1, [x[0], y[0], z[0]]):\nPD := m atrix(3,1, [dx, dy, dz]):\nray2 := evalm(PS + scalarmul(PD,t)):\nmatri x(3,1, [x(t), y(t), z(t)]) = eval(ray2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/-%'matrixG6#7%7#-%\"xG6#%\"tG7#-%\"yGF+7#-%\"zGF+-F%6#7%7#,&&F* 6#\"\"!\"\"\"*&F,F;%#dxGF;F;7#,&&F/F9F;*&F,\"\"\"%#dyGF;F;7#,&&F2F9F;* &F,FB%#dzGF;F;" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 24 "Now, do the sub stitution" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 52 "ceq3 := subs(\{x=ray2[1,1],y=ray2[2,1]\},ceq1):\n c eq3;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/,&*$),&&%\"xG6#\"\"!\"\"\"*&% \"tGF,%#dxGF,F,\"\"#\"\"\"F,*$),&&%\"yGF*F,*&F.F1%#dyGF,F,F0F1F,F," }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 60 "troots := solve(ceq3,t):\nt [1] = troots[1];\nt[2] = troots[2];" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 #/&%\"tG6#\"\"\",$*&,(*&&%\"xG6#\"\"!F'%#dxGF'!\"#*&&%\"yGF.F'%#dyGF'F 1*$-%%sqrtG6#,,**F,\"\"\"F0F " 0 "" {MPLTEXT 1 0 80 "P[i1] = subs(\{t=troots[1]\},eval(ray2));\nP[i2] = su bs(\{t=troots[2]\},eval(ray2));\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/ &%\"PG6#%#i1G-%'matrixG6#7%7#,&&%\"xG6#\"\"!\"\"\"*&*&,(*&F.F2%#dxGF2! \"#*&&%\"yGF0F2%#dyGF2F8*$-%%sqrtG6#,,**F.\"\"\"F7FCF:FCF " 0 "" {MPLTEXT 1 0 0 "" }}}}}{MARK "2 11 0 0" 0 }{VIEWOPTS 1 1 0 2 1 1805 }