(*********************************************************************** Mathematica-Compatible Notebook This notebook can be used on any computer system with Mathematica 4.0, MathReader 4.0, or any compatible application. The data for the notebook starts with the line containing stars above. To get the notebook into a Mathematica-compatible application, do one of the following: * Save the data starting with the line of stars above into a file with a name ending in .nb, then open the file inside the application; * Copy the data starting with the line of stars above to the clipboard, then use the Paste menu command inside the application. Data for notebooks contains only printable 7-bit ASCII and can be sent directly in email or through ftp in text mode. Newlines can be CR, LF or CRLF (Unix, Macintosh or MS-DOS style). NOTE: If you modify the data for this notebook not in a Mathematica- compatible application, you must delete the line below containing the word CacheID, otherwise Mathematica-compatible applications may try to use invalid cache data. For more information on notebooks and Mathematica-compatible applications, contact Wolfram Research: web: http://www.wolfram.com email: info@wolfram.com phone: +1-217-398-0700 (U.S.) Notebook reader applications are available free of charge from Wolfram Research. ***********************************************************************) (*CacheID: 232*) (*NotebookFileLineBreakTest NotebookFileLineBreakTest*) (*NotebookOptionsPosition[ 44887, 832]*) (*NotebookOutlinePosition[ 45750, 860]*) (* CellTagsIndexPosition[ 45706, 856]*) (*WindowFrame->Normal*) Notebook[{ Cell[BoxData[ \(\(\( (*\ simple\ tetrahedron\ *) \)\(\[IndentingNewLine]\)\( (*\ applies\ angular\ velocity\ to\ object\ *) \)\(\[IndentingNewLine]\)\( \ (*\ applies\ w\ to\ rotation\ matrix\ *) \)\(\[IndentingNewLine]\)\( (*\ doesn' t\ calculate\ any\ forces\ *) \)\(\[IndentingNewLine]\)\(\ \[IndentingNewLine]\)\(<< Calculus`VectorAnalysis`\)\)\)], "Input"], Cell[BoxData[ \(<< Graphics`Shapes`\)], "Input"], Cell[BoxData[ \(\(\( (*\ points\ of\ an\ object\ *) \)\(\[IndentingNewLine]\)\( (*\ position, \ mass\ *) \)\(\[IndentingNewLine]\)\(qList = \ {\[IndentingNewLine]{{\(-1\), 0, 0}, 1}, \[IndentingNewLine]{{1, 0, 0}, 1}, \[IndentingNewLine]{{0, 1, 0}, 1}, \[IndentingNewLine]{{0, 0, 1}, 1}\[IndentingNewLine]};\)\)\)], "Input"], Cell[BoxData[ \(\(\( (*\ list\ of\ lines\ to\ display\ *) \)\(\[IndentingNewLine]\)\(lineList\ \ = {\[IndentingNewLine]{1, 2}, {2, 3}, {3, 4}, {4, 1}, {4, 2}, {3, 1}\[IndentingNewLine]};\)\)\)], "Input"], Cell[BoxData[{ \( (*\ position, \ velocity\ of\ object\ *) \[IndentingNewLine]\(x\ = \ {2, 0, 0};\)\), "\[IndentingNewLine]", \(\(v\ = \ {1, 1, 1};\)\)}], "Input"], Cell[BoxData[ \(\(\( (*\ orientation\ matrix\ of\ object\ *) \)\(\[IndentingNewLine]\)\( (*\ stored\ by\ rows\ *) \)\(rot = {{1, 0, 0}, {0, 1, 0}, {0, 0, 1}};\)\)\)], "Input"], Cell[BoxData[ \(\(\( (*\ center\ of\ mass\ *) \)\(\[IndentingNewLine]\)\(For[i = 1; com = {0, 0, 0}, i <= Length[ qList], \(i++\), \[IndentingNewLine]com += \ \ \(qList[\([i]\)]\)[\([1]\)]*\(qList[\([i]\)]\)[\([2]\)]];\)\)\)], "Input"], Cell[BoxData[ \(\(\( (*\ angular\ velocity\ *) \)\(\[IndentingNewLine]\)\(w = {1, 1, 1};\)\)\)], "Input"], Cell[CellGroupData[{ Cell[BoxData[ \(\(\( (*\ change\ in\ rotation\ matrix\ *) \)\(\[IndentingNewLine]\)\(rotDot\ = \ \ {CrossProduct[ w, {\(rot[\([1]\)]\)[\([1]\)], \(rot[\([2]\)]\)[\([1]\)], \ \(rot[\([3]\)]\)[\([1]\)]}], \[IndentingNewLine]CrossProduct[ w, {\(rot[\([1]\)]\)[\([2]\)], \(rot[\([2]\)]\)[\([2]\)], \ \(rot[\([3]\)]\)[\([2]\)]}], \[IndentingNewLine]CrossProduct[ w, {\(rot[\([1]\)]\)[\([3]\)], \(rot[\([2]\)]\)[\([3]\)], \ \(rot[\([3]\)]\)[\([3]\)]}]\ }\)\)\)], "Input"], Cell[BoxData[ \({{0, 1, \(-1\)}, {\(-1\), 0, 1}, {1, \(-1\), 0}}\)], "Output"] }, Open ]], Cell[BoxData[ \(For[i = 1; qDotList = {}, i <= Length[ qList], \(i++\), \[IndentingNewLine]tv = \ \(qList[\([i]\)]\)[\([1]\)] - x; \[IndentingNewLine]qDotList = Append[qDotList, CrossProduct[w, rot[\([1]\)]*tv + rot[\([2]\)]*tv + rot[\([3]\)]*tv] + v]]\)], "Input"], Cell[BoxData[ \(For[t = 1; alist = {}, t < 10, \(t++\), \[IndentingNewLine]For[i = 1; glist = {}, i <= Length[ lList], \(i++\), \[IndentingNewLine]q = \ \(qList[\([\(lineList[\([i]\)]\)[\([1]\)]]\)]\)[\([1]\)]; \ \[IndentingNewLine]q1 = rot[\([1]\)]*q + rot[\([2]\)]*q + rot[\([3]\)]*q + x; \[IndentingNewLine]q = \(qList[\([\(lList[\([i]\)]\)[\([2]\)]]\ \)]\)[\([1]\)]; \[IndentingNewLine]q2 = rot[\([1]\)]*q + rot[\([2]\)]*q + rot[\([3]\)]*q + x; \[IndentingNewLine]glist = Append[glist, Line[{q1, q2}]];]; \[IndentingNewLine]update; \[IndentingNewLine]alist \ = Append[alist, glist];]\)], "Input"], Cell[CellGroupData[{ Cell[BoxData[ \(Show[Graphics3D[alist], PlotRange \[Rule] {{\(-5\), 5}, {\(-5\), 5}, {\(-5\), 5}}]\)], "Input"], Cell[GraphicsData["PostScript", "\<\ %! %%Creator: Mathematica %%AspectRatio: 1.0855 MathPictureStart /Mabs { Mgmatrix idtransform Mtmatrix dtransform } bind def /Mabsadd { Mabs 3 -1 roll add 3 1 roll add exch } bind def %% Graphics3D %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10 scalefont setfont % Scaling calculations -0.0567234 1.16608 1.11022e-16 1.16608 [ [ 0 0 0 0 ] [ 1 1.0855 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath 0 g .25 Mabswid [ ] 0 setdash .08846 .24555 m 0 .80374 L s 0 .80374 m .40037 1.0855 L s .40037 1.0855 m .41799 .58158 L s .41799 .58158 m .08846 .24555 L s .67245 0 m .92713 .41497 L s .92713 .41497 m 1 .94814 L s 1 .94814 m .70644 .58546 L s .70644 .58546 m .67245 0 L s .08846 .24555 m 0 .80374 L s 0 .80374 m .70644 .58546 L s .70644 .58546 m .67245 0 L s .67245 0 m .08846 .24555 L s .41799 .58158 m .92713 .41497 L s .92713 .41497 m 1 .94814 L s 1 .94814 m .40037 1.0855 L s .40037 1.0855 m .41799 .58158 L s 0 0 m 1 0 L 1 1.0855 L 0 1.0855 L closepath clip newpath .5 Mabswid .67663 .58013 m .58603 .56392 L s .67663 .58013 m .64933 .60008 L s .70967 .52434 m .67663 .58013 L s .64933 .60008 m .58603 .56392 L s .58603 .56392 m .70967 .52434 L s .64933 .60008 m .70967 .52434 L s .25 Mabswid .67245 0 m .92713 .41497 L s .92713 .41497 m 1 .94814 L s 1 .94814 m .70644 .58546 L s .70644 .58546 m .67245 0 L s .08846 .24555 m 0 .80374 L s 0 .80374 m .70644 .58546 L s .70644 .58546 m .67245 0 L s .67245 0 m .08846 .24555 L s % End of Graphics MathPictureEnd \ \>"], "Graphics", ImageSize->{288, 312.562}, ImageMargins->{{43, 0}, {0, 0}}, ImageRegion->{{0, 1}, {0, 1}}, ImageCache->GraphicsData["Bitmap", "\<\ CF5dJ6E]HGAYHf4PAg9QL6QYHg2000`400?l00000o`00003o_`3oool2 000005l0oooo002l0?ooo`<0000000<0oooo0000003oool0GP3oool00;X0oooo0P0000040?ooo`80 0000GP3oool00;P0oooo0P0000060?ooo`030000003oool0000005d0oooo002e0?ooo`<00000203o ool00`000000oooo0000001M0?ooo`00/`3oool2000000/0oooo00@000000?ooo`3oool00000G03o ool00;00oooo0`00000=0?ooo`040000003oool0oooo000005`0oooo002^0?ooo`800000403oool0 1@000000oooo0?ooo`3oool0000005/0oooo002/0?ooo`8000004P3oool00`000000oooo0?ooo`02 0?ooo`030000003oool0oooo05P0oooo002Y0?ooo`<000005@3oool01@000000oooo0?ooo`3oool0 000005X0oooo002W0?ooo`800000603oool00`000000oooo0?ooo`020?ooo`030000003oool0oooo 05L0oooo002U0?ooo`8000006P3oool00`000000oooo0?ooo`030?ooo`030000003oool0oooo05H0 oooo002R0?ooo`<00000703oool00`000000oooo0?ooo`030?ooo`030000003oool0oooo05H0oooo 002P0?ooo`8000007`3oool00`000000oooo0?ooo`040?ooo`030000003oool0oooo05D0oooo002M 0?ooo`<000008@3oool00`000000oooo0?ooo`040?ooo`030000003oool0oooo05D0oooo002K0?oo o`800000903oool00`000000oooo0?ooo`050?ooo`030000003oool0oooo05@0oooo002I0?ooo`80 00009P3oool00`000000oooo0?ooo`060?ooo`030000003oool0oooo05<0oooo002F0?ooo`<00000 :03oool00`000000oooo0?ooo`060?ooo`030000003oool0oooo05<0oooo002D0?ooo`800000:`3o ool00`000000oooo0?ooo`070?ooo`030000003oool0oooo0580oooo002A0?ooo`<00000;@3oool0 0`000000oooo0?ooo`080?ooo`030000003oool0oooo0540oooo002?0?ooo`800000<03oool00`00 0000oooo0?ooo`080?ooo`030000003oool0oooo0540oooo002=0?ooo`800000@3oool00`000000oooo0?ooo`0; 0?ooo`030000003oool0oooo04h0oooo00230?ooo`<00000>`3oool00`000000oooo0?ooo`0;0?oo o`030000003oool0oooo04h0oooo00210?ooo`800000?`3oool00`000000oooo0?ooo`0;0?ooo`03 0000003oool0oooo04d0oooo001n0?ooo`<00000@@3oool00`000000oooo0?ooo`0;0?ooo`030000 003oool0oooo04d0oooo001l0?ooo`800000A03oool00`000000oooo0?ooo`0<0?ooo`030000003o ool0oooo04`0oooo001j0?ooo`800000AP3oool00`000000oooo0?ooo`0=0?ooo`030000003oool0 oooo04/0oooo001g0?ooo`<00000B03oool00`000000oooo0?ooo`0=0?ooo`030000003oool0oooo 04/0oooo001e0?ooo`800000B`3oool00`000000oooo0?ooo`0>0?ooo`030000003oool0oooo04X0 oooo001b0?ooo`<00000C@3oool00`000000oooo0?ooo`0?0?ooo`030000003oool0oooo04T0oooo 001`0?ooo`800000D03oool00`000000oooo0?ooo`0?0?ooo`030000003oool0oooo04T0oooo001^ 0?ooo`800000DP3oool00`000000oooo0?ooo`0@0?ooo`030000003oool0oooo04P0oooo001[0?oo o`<00000E03oool00`000000oooo0?ooo`0@0?ooo`030000003oool0oooo04P0oooo001Y0?ooo`80 0000E`3oool00`000000oooo0?ooo`0A0?ooo`030000003oool0oooo04L0oooo001W0?ooo`800000 F@3oool00`000000oooo0?ooo`0B0?ooo`030000003oool0oooo04H0oooo001T0?ooo`<00000F`3o ool00`000000oooo0?ooo`0B0?ooo`030000003oool0oooo04H0oooo001R0?ooo`800000GP3oool0 0`000000oooo0?ooo`0C0?ooo`030000003oool0oooo04D0oooo001O0?ooo`<00000H03oool00`00 0000oooo0?ooo`0D0?ooo`030000003oool0oooo04@0oooo001M0?ooo`800000H`3oool00`000000 oooo0?ooo`0D0?ooo`030000003oool0oooo04@0oooo001K0?ooo`800000I@3oool00`000000oooo 0?ooo`0E0?ooo`030000003oool0oooo04<0oooo001H0?ooo`<00000J03oool00`000000oooo0?oo o`0D0?ooo`030000003oool0oooo04<0oooo001F0?ooo`800000J`3oool00`000000oooo0?ooo`0E 0?ooo`030000003oool0oooo0480oooo001C0?ooo`<00000K@3oool00`000000oooo0?ooo`0F0?oo o`030000003oool0oooo0440oooo001A0?ooo`800000L03oool00`000000oooo0?ooo`0F0?ooo`03 0000003oool0oooo0440oooo001?0?ooo`800000LP3oool00`000000oooo0?ooo`0G0?ooo`030000 003oool0oooo0400oooo001<0?ooo`<00000M03oool00`000000oooo0?ooo`0H0?ooo`030000003o ool0oooo03l0oooo001:0?ooo`800000M`3oool00`000000oooo0?ooo`0H0?ooo`030000003oool0 oooo03l0oooo00180?ooo`800000N@3oool00`000000oooo0?ooo`0I0?ooo`030000003oool0oooo 03h0oooo00150?ooo`<00000N`3oool00`000000oooo0?ooo`0I0?ooo`030000003oool0oooo03h0 oooo00130?ooo`800000OP3oool00`000000oooo0?ooo`0J0?ooo`030000003oool0oooo03d0oooo 00100?ooo`<00000P03oool00`000000oooo0?ooo`0K0?ooo`030000003oool0oooo03`0oooo000n 0?ooo`800000P`3oool00`000000oooo0?ooo`0K0?ooo`030000003oool0oooo03`0oooo000l0?oo o`800000Q@3oool00`000000oooo0?ooo`0L0?ooo`030000003oool0oooo03/0oooo000i0?ooo`<0 0000Q`3oool00`000000oooo0?ooo`0M0?ooo`030000003oool0oooo03X0oooo000g0?ooo`800000 RP3oool00`000000oooo0?ooo`0M0?ooo`030000003oool0oooo03X0oooo000d0?ooo`<00000S03o ool00`000000oooo0?ooo`0N0?ooo`030000003oool0oooo03T0oooo000b0?ooo`800000S`3oool0 0`000000oooo0?ooo`0N0?ooo`030000003oool0oooo03T0oooo000`0?ooo`800000TP3oool00`00 0000oooo0?ooo`0N0?ooo`030000003oool0oooo03P0oooo000]0?ooo`<00000U03oool00`000000 oooo0?ooo`0O0?ooo`030000003oool0oooo03L0oooo000[0?ooo`800000U`3oool00`000000oooo 0?ooo`0O0?ooo`030000003oool0oooo03L0oooo000Y0?ooo`800000V@3oool00`000000oooo0?oo o`0P0?ooo`030000003oool0oooo03H0oooo000V0?ooo`<00000V`3oool00`000000oooo0?ooo`0P 0?ooo`030000003oool0oooo03H0oooo000T0?ooo`800000WP3oool00`000000oooo0?ooo`0Q0?oo o`030000003oool0oooo03D0oooo000Q0?ooo`<00000X03oool00`000000oooo0?ooo`0R0?ooo`03 0000003oool0oooo03@0oooo000O0?ooo`800000X`3oool00`000000oooo0?ooo`0R0?ooo`030000 003oool0oooo03@0oooo000M0?ooo`800000Y@3oool00`000000oooo0?ooo`0S0?ooo`030000003o ool0oooo03<0oooo000J0?ooo`<00000Y`3oool00`000000oooo0?ooo`0T0?ooo`030000003oool0 oooo0380oooo000I0?ooo`030000003oool0oooo0:P0oooo00<000000?ooo`3oool0903oool00`00 0000oooo0?ooo`0b0?ooo`006@3oool00`000000oooo0?ooo`2X0?ooo`030000003oool0oooo02D0 oooo00<000000?ooo`3oool0<@3oool001T0oooo0P00002Y0?ooo`030000003oool0oooo02D0oooo 00<000000?ooo`3oool0<@3oool001T0oooo00<000000?ooo`000000Z03oool00`000000oooo0?oo o`0V0?ooo`030000003oool0oooo0300oooo000H0?ooo`050000003oool0oooo0?ooo`000000Y`3o ool00`000000oooo0?ooo`0W0?ooo`030000003oool0oooo02l0oooo000H0?ooo`030000003oool0 oooo0080oooo00<000000?ooo`3oool0Y03oool00`000000oooo0?ooo`0W0?ooo`030000003oool0 oooo02l0oooo000H0?ooo`030000003oool0oooo00<0oooo00<000000?ooo`3oool0X`3oool00`00 0000oooo0?ooo`0X0?ooo`030000003oool0oooo02h0oooo000H0?ooo`030000003oool0oooo00@0 oooo00<000000?ooo`3oool0X`3oool00`000000oooo0?ooo`0X0?ooo`030000003oool0oooo02d0 oooo000H0?ooo`030000003oool0oooo00D0oooo00<000000?ooo`3oool0XP3oool00`000000oooo 0?ooo`0X0?ooo`030000003oool0oooo02d0oooo000H0?ooo`030000003oool0oooo00H0oooo00<0 00000?ooo`3oool0X@3oool00`000000oooo0?ooo`0Y0?ooo`030000003oool0oooo02`0oooo000H 0?ooo`030000003oool0oooo00L0oooo00<000000?ooo`3oool0X03oool00`000000oooo0?ooo`0Y 0?ooo`030000003oool0oooo02`0oooo000G0?ooo`030000003oool0oooo00T0oooo00<000000?oo o`3oool0W`3oool00`000000oooo0?ooo`0Z0?ooo`030000003oool0oooo02/0oooo000G0?ooo`03 0000003oool0oooo00X0oooo00<000000?ooo`3oool0WP3oool00`000000oooo0?ooo`0[0?ooo`03 0000003oool0oooo02X0oooo000G0?ooo`030000003oool0oooo00/0oooo00<000000?ooo`3oool0 W@3oool00`000000oooo0?ooo`0[0?ooo`030000003oool0oooo02X0oooo000G0?ooo`030000003o ool0oooo00`0oooo00<000000?ooo`3oool0W03oool00`000000oooo0?ooo`0/0?ooo`030000003o ool0oooo02T0oooo000G0?ooo`030000003oool0oooo00d0oooo00<000000?ooo`3oool0V`3oool0 0`000000oooo0?ooo`0]0?ooo`030000003oool0oooo02P0oooo000G0?ooo`030000003oool0oooo 00h0oooo00<000000?ooo`3oool0VP3oool00`000000oooo0?ooo`0]0?ooo`030000003oool0oooo 02P0oooo000F0?ooo`030000003oool0oooo0100oooo00<000000?ooo`3oool0V@3oool00`000000 oooo0?ooo`0^0?ooo`030000003oool0oooo02L0oooo000F0?ooo`030000003oool0oooo0140oooo 00<000000?ooo`3oool0V03oool00`000000oooo0?ooo`0^0?ooo`030000003oool0oooo02L0oooo 000F0?ooo`030000003oool0oooo0180oooo00<000000?ooo`3oool0U`3oool00`000000oooo0?oo o`0_0?ooo`030000003oool0oooo02H0oooo000F0?ooo`030000003oool0oooo01<0oooo00<00000 0?ooo`3oool0UP3oool00`000000oooo0?ooo`0`0?ooo`030000003oool0oooo02D0oooo000F0?oo o`030000003oool0oooo01@0oooo00<000000?ooo`3oool0U@3oool00`000000oooo0?ooo`0`0?oo o`030000003oool0oooo02D0oooo000F0?ooo`030000003oool0oooo01D0oooo00<000000?ooo`3o ool0U03oool00`000000oooo0?ooo`0a0?ooo`030000003oool0oooo02@0oooo000F0?ooo`030000 003oool0oooo01H0oooo00<000000?ooo`3oool0U03oool00`000000oooo0?ooo`0a0?ooo`030000 003oool0oooo02<0oooo000E0?ooo`030000003oool0oooo01P0oooo00<000000?ooo`3oool0T`3o ool00`000000oooo0?ooo`0a0?ooo`030000003oool0oooo02<0oooo000E0?ooo`030000003oool0 oooo01T0oooo00<000000?ooo`3oool0TP3oool00`000000oooo0?ooo`0b0?ooo`030000003oool0 oooo0280oooo000E0?ooo`030000003oool0oooo01X0oooo00<000000?ooo`3oool0T@3oool00`00 0000oooo0?ooo`0b0?ooo`030000003oool0oooo0280oooo000E0?ooo`030000003oool0oooo01/0 oooo00<000000?ooo`3oool0T03oool00`000000oooo0?ooo`0c0?ooo`030000003oool0oooo0240 oooo000E0?ooo`030000003oool0oooo01`0oooo00<000000?ooo`3oool0S`3oool00`000000oooo 0?ooo`0d0?ooo`030000003oool0oooo0200oooo000E0?ooo`030000003oool0oooo01d0oooo00<0 00000?ooo`3oool0SP3oool00`000000oooo0?ooo`0d0?ooo`030000003oool0oooo0200oooo000D 0?ooo`030000003oool0oooo01l0oooo00<000000?ooo`3oool0S@3oool00`000000oooo0?ooo`0e 0?ooo`030000003oool0oooo01l0oooo000D0?ooo`030000003oool0oooo0200oooo00<000000?oo o`3oool0S03oool00`000000oooo0?ooo`0e0?ooo`030000003oool0oooo01l0oooo000D0?ooo`03 0000003oool0oooo0240oooo00<000000?ooo`3oool0R`3oool00`000000oooo0?ooo`0f0?ooo`03 0000003oool0oooo01h0oooo000D0?ooo`030000003oool0oooo0240oooo00<000000?ooo`3oool0 R`3oool00`000000oooo0?ooo`0g0?ooo`030000003oool0oooo01d0oooo000D0?ooo`030000003o ool0oooo0280oooo00<000000?ooo`3oool0RP3oool00`000000oooo0?ooo`0g0?ooo`030000003o ool0oooo01d0oooo000D0?ooo`030000003oool0oooo02<0oooo00<000000?ooo`3oool0R@3oool0 0`000000oooo0?ooo`0h0?ooo`030000003oool0oooo01`0oooo000C0?ooo`030000003oool0oooo 02D0oooo00<000000?ooo`3oool0R03oool00`000000oooo0?ooo`0i0?ooo`030000003oool0oooo 01/0oooo000C0?ooo`030000003oool0oooo02H0oooo00<000000?ooo`3oool0Q`3oool00`000000 oooo0?ooo`0i0?ooo`030000003oool0oooo01/0oooo000C0?ooo`030000003oool0oooo02L0oooo 00<000000?ooo`3oool0QP3oool00`000000oooo0?ooo`0j0?ooo`030000003oool0oooo01X0oooo 000C0?ooo`030000003oool0oooo02P0oooo00<000000?ooo`3oool0Q@3oool00`000000oooo0?oo o`0j0?ooo`030000003oool0oooo01X0oooo000C0?ooo`030000003oool0oooo02T0oooo00<00000 0?ooo`3oool0Q@3oool00`000000oooo0?ooo`0j0?ooo`030000003oool0oooo01T0oooo000C0?oo o`030000003oool0oooo02X0oooo00<000000?ooo`3oool0Q03oool00`000000oooo0?ooo`0k0?oo o`030000003oool0oooo01P0oooo000C0?ooo`030000003oool0oooo02/0oooo00<000000?ooo`3o ool0P`3oool00`000000oooo0?ooo`0k0?ooo`030000003oool0oooo01P0oooo000B0?ooo`030000 003oool0oooo02d0oooo00<000000?ooo`3oool0PP3oool00`000000oooo0?ooo`0l0?ooo`030000 003oool0oooo01L0oooo000B0?ooo`030000003oool0oooo02h0oooo00<000000?ooo`3oool0P@3o ool00`000000oooo0?ooo`0m0?ooo`030000003oool0oooo01H0oooo000B0?ooo`030000003oool0 oooo02l0oooo00<000000?ooo`3oool0P03oool00`000000oooo0?ooo`0m0?ooo`030000003oool0 oooo01H0oooo000B0?ooo`030000003oool0oooo0300oooo00<000000?ooo`3oool0O`3oool00`00 0000oooo0?ooo`0n0?ooo`030000003oool0oooo01D0oooo000B0?ooo`030000003oool0oooo0340 oooo00<000000?ooo`3oool0OP3oool00`000000oooo0?ooo`0n0?ooo`030000003oool0oooo01D0 oooo000B0?ooo`030000003oool0oooo0380oooo00<000000?ooo`3oool0O@3oool00`000000oooo 0?ooo`0o0?ooo`030000003oool0oooo01@0oooo000A0?ooo`030000003oool0oooo03@0oooo00<0 00000?ooo`3oool0O03oool00`000000oooo0?ooo`0n0?ooo`<000005@3oool00140oooo00<00000 0?ooo`3oool0=@3oool00`000000oooo0?ooo`1k0?ooo`030000003oool0oooo03/0oooo0`000002 0?ooo`030000003oool0oooo01<0oooo000A0?ooo`030000003oool0oooo03H0oooo00<000000?oo o`3oool0NP3oool00`000000oooo0?ooo`0h0?ooo`<000001@3oool00`000000oooo0?ooo`0C0?oo o`004@3oool00`000000oooo0?ooo`0g0?ooo`030000003oool0oooo07T0oooo00<000000?ooo`3o ool0=@3oool3000000P0oooo00<000000?ooo`3oool04`3oool00140oooo00<000000?ooo`3oool0 >03oool00`000000oooo0?ooo`1h0?ooo`030000003oool0oooo0380oooo0`00000;0?ooo`030000 003oool0oooo01<0oooo000A0?ooo`030000003oool0oooo03T0oooo00<000000?ooo`3oool0M`3o ool00`000000oooo0?ooo`0_0?ooo`<000003`3oool00`000000oooo0?ooo`0B0?ooo`004@3oool0 0`000000oooo0?ooo`0j0?ooo`030000003oool0oooo07H0oooo00<000000?ooo`3oool0;03oool3 00000180oooo00<000000?ooo`3oool04P3oool00100oooo00<000000?ooo`3oool0?03oool00`00 0000oooo0?ooo`1e0?ooo`030000003oool0oooo02T0oooo0`00000E0?ooo`030000003oool0oooo 0180oooo000@0?ooo`030000003oool0oooo03d0oooo00<000000?ooo`3oool0M@3oool00`000000 oooo0?ooo`0U0?ooo`<00000603oool00`000000oooo0?ooo`0B0?ooo`00403oool00`000000oooo 0?ooo`0n0?ooo`030000003oool0oooo07@0oooo00<000000?ooo`3oool08P3oool3000001/0oooo 00<000000?ooo`3oool04P3oool00100oooo00<000000?ooo`3oool0?`3oool00`000000oooo0?oo o`1c0?ooo`030000003oool0oooo01l0oooo0`00000N0?ooo`030000003oool0oooo0180oooo000@ 0?ooo`030000003oool0oooo0400oooo00<000000?ooo`3oool0LP3oool00`000000oooo0?ooo`0L 0?ooo`<000008@3oool00`000000oooo0?ooo`0B0?ooo`00403oool00`000000oooo0?ooo`110?oo o`030000003oool0oooo0740oooo00<000000?ooo`3oool06@3oool3000002D0oooo00<000000?oo o`3oool04@3oool000l0oooo00<000000?ooo`3oool0@`3oool00`000000oooo0?ooo`1`0?ooo`03 0000003oool0oooo01H0oooo0`00000X0?ooo`030000003oool0oooo0140oooo000?0?ooo`030000 003oool0oooo04@0oooo00<000000?ooo`3oool0K`3oool00`000000oooo0?ooo`0C0?ooo`<00000 :`3oool00`000000oooo0?ooo`0A0?ooo`003`3oool00`000000oooo0?ooo`150?ooo`030000003o ool0oooo06h0oooo00<000000?ooo`3oool0403oool3000002h0oooo00<000000?ooo`3oool04@3o ool000l0oooo00<000000?ooo`3oool0AP3oool00`000000oooo0?ooo`1]0?ooo`030000003oool0 oooo00`0oooo1000000a0?ooo`030000003oool0oooo0140oooo000?0?ooo`030000003oool0oooo 04H0oooo00<000000?ooo`3oool0K@3oool00`000000oooo0?ooo`090?ooo`<00000=@3oool00`00 0000oooo0?ooo`0A0?ooo`003`3oool00`000000oooo0?ooo`170?ooo`030000003oool0oooo06`0 oooo00<000000?ooo`3oool01P3oool3000003P0oooo00<000000?ooo`3oool04@3oool000l0oooo 00<000000?ooo`3oool0B03oool00`000000oooo0?ooo`1[0?ooo`030000003oool0oooo00<0oooo 0`00000l0?ooo`030000003oool0oooo0100oooo000>0?ooo`030000003oool0oooo04X0oooo00<0 00000?ooo`3oool0JP3oool00`000000oooo0?ooo`03000003l0oooo00<000000?ooo`3oool0403o ool000h0oooo00<000000?ooo`3oool0B`3oool00`000000oooo0?ooo`1Y0?ooo`<00000@P3oool0 0`000000oooo0?ooo`0@0?ooo`003P3oool00`000000oooo0?ooo`1<0?ooo`030000003oool0oooo 06D0oooo100000140?ooo`030000003oool0oooo0100oooo000>0?ooo`030000003oool0oooo04d0 oooo00<000000?ooo`3oool0H@3oool3000000<0oooo00<000000?ooo`3oool0@P3oool00`000000 oooo0?ooo`0@0?ooo`003P3oool00`000000oooo0?ooo`1>0?ooo`030000003oool0oooo05d0oooo 0`0000060?ooo`030000003oool0oooo0480oooo00<000000?ooo`3oool0403oool000h0oooo00<0 00000?ooo`3oool0C`3oool00`000000oooo0?ooo`1I0?ooo`<000002P3oool00`000000oooo0?oo o`110?ooo`030000003oool0oooo0100oooo000=0?ooo`030000003oool0oooo0540oooo00<00000 0?ooo`3oool0E@3oool3000000d0oooo00<000000?ooo`3oool0@P3oool00`000000oooo0?ooo`0? 0?ooo`003@3oool00`000000oooo0?ooo`1B0?ooo`030000003oool0oooo0540oooo0`00000@0?oo o`030000003oool0oooo0480oooo00<000000?ooo`3oool03`3oool000d0oooo00<000000?ooo`3o ool0D`3oool00`000000oooo0?ooo`1=0?ooo`<000004`3oool00`000000oooo0?ooo`120?ooo`03 0000003oool0oooo00l0oooo000=0?ooo`030000003oool0oooo05@0oooo00<000000?ooo`3oool0 B@3oool3000001H0oooo00<000000?ooo`3oool0@P3oool00`000000oooo0?ooo`0?0?ooo`003@3o ool00`000000oooo0?ooo`1E0?ooo`030000003oool0oooo04D0oooo0`00000I0?ooo`030000003o ool0oooo0480oooo00<000000?ooo`3oool03`3oool000d0oooo00<000000?ooo`3oool0EP3oool0 0`000000oooo0?ooo`110?ooo`<00000703oool300000480oooo00<000000?ooo`3oool03`3oool0 00`0oooo00<000000?ooo`3oool0F03oool00`000000oooo0?ooo`0l0?ooo`@000007@3oool30000 00030?ooo`000000oooo0440oooo00<000000?ooo`3oool03`3oool000`0oooo00<000000?ooo`3o ool0F@3oool00`000000oooo0?ooo`0h0?ooo`<000007P3oool300000080oooo0P0000130?ooo`03 0000003oool0oooo00l0oooo000<0?ooo`030000003oool0oooo05X0oooo00<000000?ooo`3oool0 =03oool3000001h0oooo0`0000050?ooo`800000A03oool00`000000oooo0?ooo`0>0?ooo`00303o ool00`000000oooo0?ooo`1K0?ooo`030000003oool0oooo0300oooo0`00000N0?ooo`<000001`3o ool2000004D0oooo00<000000?ooo`3oool03P3oool000`0oooo00<000000?ooo`3oool0G03oool0 0`000000oooo0?ooo`0/0?ooo`<000007P3oool3000000X0oooo0P0000150?ooo`030000003oool0 oooo00h0oooo000<0?ooo`030000003oool0oooo05d0oooo00<000000?ooo`3oool0:03oool30000 01h0oooo0`00000<0?ooo`<00000A@3oool00`000000oooo0?ooo`0>0?ooo`00303oool00`000000 oooo0?ooo`1N0?ooo`030000003oool0oooo02@0oooo0`00000N0?ooo`<000003P3oool200000003 0?ooo`000000oooo04@0oooo00<000000?ooo`3oool03P3oool000/0oooo00<000000?ooo`3oool0 H03oool00`000000oooo0?ooo`0P0?ooo`<000007P3oool300000100oooo00D000000?ooo`000000 oooo000000150?ooo`030000003oool0oooo00h0oooo000;0?ooo`030000003oool0oooo0640oooo 00<000000?ooo`3oool0703oool3000001h0oooo0`00000B0?ooo`030000003oool000000080oooo 00<000000?ooo`3oool0@`3oool00`000000oooo0?ooo`0>0?ooo`002`3oool00`000000oooo0?oo o`1R0?ooo`030000003oool0oooo01P0oooo0`00000N0?ooo`<000005@3oool00`000000oooo0000 00020?ooo`030000003oool0oooo04@0oooo00<000000?ooo`3oool03@3oool000/0oooo00<00000 0?ooo`3oool0H`3oool00`000000oooo0?ooo`0D0?ooo`<000007P3oool3000001L0oooo00<00000 0?ooo`000000103oool00`000000oooo0?ooo`130?ooo`030000003oool0oooo00d0oooo000;0?oo o`030000003oool0oooo06@0oooo00<000000?ooo`3oool0403oool300000200oooo1000000F0?oo o`040000003oool0oooo000000@0oooo00<000000?ooo`3oool0@`3oool00`000000oooo0?ooo`0= 0?ooo`002`3oool00`000000oooo0?ooo`1U0?ooo`030000003oool0oooo00`0oooo0`00000U0?oo o`T000003P3oool010000000oooo0?ooo`0000050?ooo`030000003oool0oooo04<0oooo00<00000 0?ooo`3oool03@3oool000X0oooo00<000000?ooo`3oool0I`3oool00`000000oooo0?ooo`080?oo o`<00000:P3oool2000000D0oooo1P0000080?ooo`030000003oool0000000H0oooo00<000000?oo o`3oool0@`3oool00`000000oooo0?ooo`0=0?ooo`002P3oool00`000000oooo0?ooo`1X0?ooo`03 0000003oool0oooo00@0oooo0`00000_0?ooo`030000003oool0oooo00P0oooo200000020?ooo`03 0000003oool0oooo00@0oooo00<000000?ooo`3oool0@`3oool00`000000oooo0?ooo`0=0?ooo`00 2P3oool00`000000oooo0?ooo`1Y0?ooo`030000003oool0oooo00<00000<`3oool2000000h0oooo 100000070?ooo`030000003oool0oooo04<0oooo00<000000?ooo`3oool03@3oool000X0oooo00<0 00000?ooo`3oool0JP3oool2000003P0oooo0P00000;0?ooo`030000003oool0000000T0oooo00<0 00000?ooo`3oool0A03oool00`000000oooo0?ooo`0<0?ooo`002P3oool00`000000oooo0?ooo`1Z 0?ooo`030000003oool0oooo03T0oooo0P0000080?ooo`030000003oool0000000P0oooo0`000016 0?ooo`030000003oool0oooo00`0oooo000:0?ooo`030000003oool0oooo06X0oooo00<000000?oo o`3oool0>`3oool2000000H0oooo0P0000060?ooo`<000000P3oool00`000000oooo0?ooo`140?oo o`030000003oool0oooo00`0oooo000:0?ooo`030000003oool0oooo06X0oooo00<000000?ooo`3o ool0?@3oool00`000000oooo0?ooo`020?ooo`030000003oool0oooo00<0oooo0`0000060?ooo`03 0000003oool0oooo04<0oooo00<000000?ooo`3oool0303oool000T0oooo00<000000?ooo`3oool0 J`3oool00`000000oooo0?ooo`0n0?ooo`80000000<0oooo0000003oool00P3oool3000000X0oooo 00<000000?ooo`3oool0@P3oool00`000000oooo0?ooo`0<0?ooo`002@3oool00`000000oooo0?oo o`1[0?ooo`030000003oool0oooo0400oooo00<000000?ooo`0000000P00000>0?ooo`030000003o ool0oooo0440oooo00<000000?ooo`3oool0303oool000T0oooo00<000000?ooo`3oool0J`3oool0 0`000000oooo0?ooo`0n0?ooo`@000004P3oool00`000000oooo0?ooo`100?ooo`030000003oool0 oooo00`0oooo00090?ooo`030000003oool0oooo06/0oooo00<000000?ooo`3oool0>`3oool30000 01H0oooo00<000000?ooo`3oool0@03oool00`000000oooo0?ooo`0<0?ooo`002@3oool00`000000 oooo0?ooo`1[0?ooo`030000003oool0oooo03P0oooo0`00000J0?ooo`030000003oool0oooo0400 oooo00<000000?ooo`3oool02`3oool000T0oooo00<000000?ooo`3oool0J`3oool00`000000oooo 0?ooo`0e0?ooo`<000007P3oool00`000000oooo0?ooo`0o0?ooo`030000003oool0oooo00/0oooo 00080?ooo`030000003oool0oooo06`0oooo00<000000?ooo`3oool0P3oool0 0`000000oooo0?ooo`0:0?ooo`001`3oool00`000000oooo0?ooo`1/0?ooo`030000003oool0oooo 01`0oooo0`00000o0?ooo`030000003oool0oooo03T0oooo00<000000?ooo`3oool02P3oool000L0 oooo00<000000?ooo`3oool0K03oool00`000000oooo0?ooo`0I0?ooo`<00000@P3oool00`000000 oooo0?ooo`0i0?ooo`030000003oool0oooo00X0oooo00070?ooo`030000003oool0oooo06`0oooo 00<000000?ooo`3oool05P3oool3000004H0oooo00<000000?ooo`3oool0>03oool00`000000oooo 0?ooo`0:0?ooo`001`3oool00`000000oooo0?ooo`1/0?ooo`030000003oool0oooo0180oooo1000 001:0?ooo`030000003oool0oooo03L0oooo00<000000?ooo`3oool02P3oool000L0oooo00<00000 0?ooo`3oool0K03oool00`000000oooo0?ooo`0?0?ooo`<00000C`3oool00`000000oooo0?ooo`0f 0?ooo`030000003oool0oooo00X0oooo00070?ooo`030000003oool0oooo06`0oooo00<000000?oo o`3oool0303oool3000005<0oooo00<000000?ooo`3oool0=P3oool00`000000oooo0?ooo`090?oo o`001P3oool00`000000oooo0?ooo`1]0?ooo`030000003oool0oooo00T0oooo0`00001G0?ooo`03 0000003oool0oooo03D0oooo00<000000?ooo`3oool02@3oool000H0oooo00<000000?ooo`3oool0 K@3oool00`000000oooo0?ooo`060?ooo`<00000FP3oool00`000000oooo0?ooo`0e0?ooo`030000 003oool0oooo00T0oooo00060?ooo`030000003oool0oooo06d0oooo00<000000?ooo`3oool00P3o ool4000005h0oooo00<000000?ooo`3oool0=03oool00`000000oooo0?ooo`090?ooo`001P3oool0 0`000000oooo0?ooo`1]0?ooo`030000003oool0000000800000H`3oool00`000000oooo0?ooo`0c 0?ooo`030000003oool0oooo00T0oooo00060?ooo`030000003oool0oooo06`0oooo0`00001W0?oo o`030000003oool0oooo0380oooo00<000000?ooo`3oool02@3oool000H0oooo00<000000?ooo`3o ool0J@3oool3000000030?ooo`000000oooo06P0oooo00<000000?ooo`3oool0<@3oool00`000000 oooo0?ooo`090?ooo`001P3oool00`000000oooo0?ooo`1V0?ooo`<00000103oool00`000000oooo 0?ooo`1W0?ooo`030000003oool0oooo0380oooo00<000000?ooo`3oool0203oool000D0oooo00<0 00000?ooo`3oool0H`3oool4000000L0oooo00<000000?ooo`3oool0J03oool00`000000oooo0?oo o`0a0?ooo`030000003oool0oooo00P0oooo00050?ooo`030000003oool0oooo0600oooo0`00000; 0?ooo`030000003oool0oooo06T0oooo00<000000?ooo`3oool0<03oool00`000000oooo0?ooo`08 0?ooo`001@3oool00`000000oooo0?ooo`1M0?ooo`<000003P3oool00`000000oooo0?ooo`1Z0?oo o`030000003oool0oooo02l0oooo00<000000?ooo`3oool0203oool000D0oooo00<000000?ooo`3o ool0FP3oool300000140oooo00<000000?ooo`3oool0J`3oool00`000000oooo0?ooo`0^0?ooo`03 0000003oool0oooo00P0oooo00050?ooo`030000003oool0oooo05L0oooo0`00000D0?ooo`030000 003oool0oooo06`0oooo00<000000?ooo`3oool0;@3oool00`000000oooo0?ooo`080?ooo`001@3o ool00`000000oooo0?ooo`1C0?ooo`@000005`3oool00`000000oooo0?ooo`1/0?ooo`030000003o ool0oooo02d0oooo00<000000?ooo`3oool0203oool000@0oooo00<000000?ooo`3oool0D@3oool3 000001/0oooo00<000000?ooo`3oool0K@3oool00`000000oooo0?ooo`0/0?ooo`030000003oool0 oooo00P0oooo00040?ooo`030000003oool0oooo04h0oooo0`00000N0?ooo`030000003oool0oooo 06h0oooo00<000000?ooo`3oool0;03oool00`000000oooo0?ooo`070?ooo`00103oool00`000000 oooo0?ooo`1;0?ooo`<000008@3oool00`000000oooo0?ooo`1_0?ooo`030000003oool0oooo02/0 oooo00<000000?ooo`3oool01`3oool000@0oooo00<000000?ooo`3oool0B03oool3000002@0oooo 00<000000?ooo`3oool0L03oool00`000000oooo0?ooo`0Z0?ooo`030000003oool0oooo00L0oooo 00040?ooo`030000003oool0oooo04@0oooo1000000W0?ooo`030000003oool0oooo0700oooo00<0 00000?ooo`3oool0:P3oool00`000000oooo0?ooo`070?ooo`00103oool00`000000oooo0?ooo`11 0?ooo`<00000:`3oool00`000000oooo0?ooo`1a0?ooo`030000003oool0oooo02T0oooo00<00000 0?ooo`3oool01`3oool000<0oooo00<000000?ooo`3oool0?`3oool3000002h0oooo00<000000?oo o`3oool0LP3oool00`000000oooo0?ooo`0X0?ooo`030000003oool0oooo00L0oooo00030?ooo`03 0000003oool0oooo03`0oooo0`00000a0?ooo`030000003oool0oooo07<0oooo00<000000?ooo`3o ool09`3oool00`000000oooo0?ooo`070?ooo`000`3oool00`000000oooo0?ooo`0i0?ooo`<00000 <`3oool00`000000oooo0?ooo`1e0?ooo`030000003oool0oooo02L0oooo00<000000?ooo`3oool0 1P3oool000<0oooo00<000000?ooo`3oool0=@3oool4000003H0oooo00<000000?ooo`3oool0MP3o ool00`000000oooo0?ooo`0V0?ooo`030000003oool0oooo00H0oooo00030?ooo`030000003oool0 oooo0380oooo0`00000j0?ooo`030000003oool0oooo07H0oooo00<000000?ooo`3oool09P3oool0 0`000000oooo0?ooo`060?ooo`000`3oool00`000000oooo0?ooo`0_0?ooo`<00000?@3oool00`00 0000oooo0?ooo`1g0?ooo`030000003oool0oooo02D0oooo00<000000?ooo`3oool01P3oool000<0 oooo00<000000?ooo`3oool0;03oool300000400oooo00<000000?ooo`3oool0N03oool00`000000 oooo0?ooo`0T0?ooo`030000003oool0oooo00H0oooo00020?ooo`030000003oool0oooo02T0oooo 100000130?ooo`030000003oool0oooo07T0oooo00<000000?ooo`3oool08`3oool00`000000oooo 0?ooo`060?ooo`000P3oool00`000000oooo0?ooo`0V0?ooo`<00000A`3oool00`000000oooo0?oo o`1j0?ooo`030000003oool0oooo0280oooo00<000000?ooo`3oool01P3oool00080oooo00<00000 0?ooo`3oool08`3oool3000004X0oooo00<000000?ooo`3oool0NP3oool00`000000oooo0?ooo`0S 0?ooo`030000003oool0oooo00D0oooo00020?ooo`030000003oool0oooo0200oooo0`00001=0?oo o`030000003oool0oooo07/0oooo00<000000?ooo`3oool08P3oool00`000000oooo0?ooo`050?oo o`000P3oool00`000000oooo0?ooo`0M0?ooo`<00000D03oool00`000000oooo0?ooo`1l0?ooo`03 0000003oool0oooo0240oooo00<000000?ooo`3oool01@3oool00080oooo00<000000?ooo`3oool0 6@3oool4000005<0oooo00<000000?ooo`3oool0O@3oool00`000000oooo0?ooo`0P0?ooo`030000 003oool0oooo00D0oooo00000`3oool000000?ooo`0H0?ooo`<00000E`3oool00`000000oooo0?oo o`1n0?ooo`030000003oool0oooo01l0oooo00<000000?ooo`3oool01@3oool000030?ooo`000000 oooo01D0oooo0`00001J0?ooo`030000003oool0oooo07l0oooo00<000000?ooo`3oool07P3oool0 0`000000oooo0?ooo`050?ooo`0000<0oooo0000003oool04P3oool3000005d0oooo00<000000?oo o`3oool0O`3oool00`000000oooo0?ooo`0N0?ooo`030000003oool0oooo00D0oooo00000`3oool0 00000?ooo`0?0?ooo`<00000H03oool00`000000oooo0?ooo`200?ooo`030000003oool0oooo01d0 oooo00<000000?ooo`3oool01@3oool000030?ooo`000000oooo00/0oooo1000001S0?ooo`030000 003oool0oooo0840oooo00<000000?ooo`3oool07@3oool00`000000oooo0?ooo`040?ooo`0000<0 oooo0000003oool0203oool3000006L0oooo00<000000?ooo`3oool0PP3oool00`000000oooo0?oo o`0L0?ooo`030000003oool0oooo00@0oooo00000`3oool000000?ooo`050?ooo`<00000JP3oool0 0`000000oooo0?ooo`230?ooo`030000003oool0oooo01/0oooo00<000000?ooo`3oool0103oool0 00030000003oool0oooo0080oooo0`00001]0?ooo`030000003oool0oooo08<0oooo00<000000?oo o`3oool06`3oool00`000000oooo0?ooo`040?ooo`0000<000000?ooo`0000000P00001`0?ooo`03 0000003oool0oooo08@0oooo00<000000?ooo`3oool06P3oool00`000000oooo0?ooo`040?ooo`00 0P00001c0?ooo`030000003oool0oooo08D0oooo00<000000?ooo`3oool06@3oool00`000000oooo 0?ooo`040?ooo`000P3oool00`000000oooo0?ooo`1`0?ooo`030000003oool0oooo08H0oooo00<0 00000?ooo`3oool0603oool00`000000oooo0?ooo`040?ooo`000`3oool200000700oooo00<00000 0?ooo`3oool0Q`3oool00`000000oooo0?ooo`0H0?ooo`030000003oool0oooo00<0oooo00050?oo o`030000003oool0oooo06d0oooo00<000000?ooo`3oool0R03oool00`000000oooo0?ooo`0G0?oo o`030000003oool0oooo00<0oooo00060?ooo`030000003oool0oooo06`0oooo00<000000?ooo`3o ool0R03oool00`000000oooo0?ooo`0G0?ooo`030000003oool0oooo00<0oooo00070?ooo`800000 K03oool00`000000oooo0?ooo`290?ooo`030000003oool0oooo01H0oooo00<000000?ooo`3oool0 0`3oool000T0oooo00<000000?ooo`3oool0J@3oool00`000000oooo0?ooo`2:0?ooo`030000003o ool0oooo01D0oooo00<000000?ooo`3oool00`3oool000X0oooo0P00001Y0?ooo`030000003oool0 oooo08/0oooo00<000000?ooo`3oool0503oool00`000000oooo0?ooo`030?ooo`00303oool00`00 0000oooo0?ooo`1V0?ooo`030000003oool0oooo08`0oooo00<000000?ooo`3oool04`3oool00`00 0000oooo0?ooo`030?ooo`003@3oool2000006D0oooo00<000000?ooo`3oool0S@3oool00`000000 oooo0?ooo`0D0?ooo`030000003oool0oooo0080oooo000?0?ooo`030000003oool0oooo0680oooo 00<000000?ooo`3oool0SP3oool00`000000oooo0?ooo`0C0?ooo`030000003oool0oooo0080oooo 000@0?ooo`030000003oool0oooo0640oooo00<000000?ooo`3oool0S`3oool00`000000oooo0?oo o`0B0?ooo`030000003oool0oooo0080oooo000A0?ooo`800000H@3oool00`000000oooo0?ooo`2@ 0?ooo`030000003oool0oooo0140oooo00<000000?ooo`3oool00P3oool001<0oooo00<000000?oo o`3oool0GP3oool00`000000oooo0?ooo`2A0?ooo`030000003oool0oooo0100oooo00<000000?oo o`3oool00P3oool001@0oooo0P00001N0?ooo`030000003oool0oooo0980oooo00<000000?ooo`3o ool03`3oool00`000000oooo0?ooo`020?ooo`005P3oool00`000000oooo0?ooo`1K0?ooo`030000 003oool0oooo0980oooo00<000000?ooo`3oool03`3oool00`000000oooo0?ooo`020?ooo`005`3o ool2000005/0oooo00<000000?ooo`3oool0T`3oool00`000000oooo0?ooo`0?0?ooo`030000003o ool0oooo0040oooo000I0?ooo`030000003oool0oooo05P0oooo00<000000?ooo`3oool0U03oool0 0`000000oooo0?ooo`0>0?ooo`030000003oool0oooo0040oooo000J0?ooo`030000003oool0oooo 05L0oooo00<000000?ooo`3oool0U@3oool00`000000oooo0?ooo`0=0?ooo`030000003oool0oooo 0040oooo000K0?ooo`800000E`3oool00`000000oooo0?ooo`2F0?ooo`030000003oool0oooo00`0 oooo00<000000?ooo`3oool00@3oool001d0oooo00<000000?ooo`3oool0E03oool00`000000oooo 0?ooo`2F0?ooo`030000003oool0oooo00`0oooo00<000000?ooo`3oool00@3oool001h0oooo0P00 001D0?ooo`030000003oool0oooo09L0oooo00<000000?ooo`3oool02`3oool00`000000oooo0?oo o`010?ooo`00803oool00`000000oooo0?ooo`1A0?ooo`030000003oool0oooo09P0oooo00<00000 0?ooo`3oool02P3oool00`000000oooo0?ooo`010?ooo`008@3oool00`000000oooo0?ooo`1@0?oo o`030000003oool0oooo09T0oooo00<000000?ooo`3oool02@3oool00`000000oooo0?ooo`010?oo o`008P3oool200000500oooo00<000000?ooo`3oool0VP3oool00`000000oooo0?ooo`090?ooo`40 00000@3oool10?ooo`00903oool00`000000oooo0?ooo`1=0?ooo`030000003oool0oooo09/0oooo 00<000000?ooo`3oool0203oool100000040oooo0@3oool002D0oooo0P00001=0?ooo`030000003o ool0oooo09/0oooo00<000000?ooo`3oool0203oool100000040oooo0@3oool002L0oooo00<00000 0?ooo`3oool0BP3oool00`000000oooo0?ooo`2L0?ooo`030000003oool0oooo00L0oooo0@000001 0?ooo`40oooo000X0?ooo`800000BP3oool00`000000oooo0?ooo`2M0?ooo`030000003oool0oooo 00H0oooo0@0000010?ooo`40oooo000Z0?ooo`030000003oool0oooo04L0oooo00<000000?ooo`3o ool0WP3oool00`000000oooo0?ooo`050?ooo`4000000@3oool10?ooo`00:`3oool00`000000oooo 0?ooo`160?ooo`030000003oool0oooo09l0oooo00<000000?ooo`3oool0103oool100000040oooo 0@3oool002`0oooo0P0000160?ooo`030000003oool0oooo09l0oooo00<000000?ooo`3oool01@3o ool100000040oooo000^0?ooo`030000003oool0oooo04<0oooo00<000000?ooo`3oool0X03oool0 0`000000oooo0?ooo`040?ooo`4000000@3oool002l0oooo0P0000130?ooo`030000003oool0oooo 0:40oooo00<000000?ooo`3oool00`3oool100000040oooo000a0?ooo`030000003oool0oooo0400 oooo00<000000?ooo`3oool0XP3oool00`000000oooo0?ooo`020?ooo`4000000@3oool00380oooo 0P0000100?ooo`030000003oool0oooo0:<0oooo00D000000?ooo`3oool0oooo000000010?ooo`00 =03oool00`000000oooo0?ooo`0m0?ooo`030000003oool0oooo0:@0oooo00@000000?ooo`3oool0 00000@3oool003D0oooo00<000000?ooo`3oool0?03oool00`000000oooo0?ooo`2T0?ooo`040000 003oool0oooo00000040oooo000f0?ooo`800000>`3oool00`000000oooo0?ooo`2V0?ooo`030000 003oool0oooo00400000000h0?ooo`030000003oool0oooo03P0oooo00<000000?ooo`3oool0Y`3o ool100000040oooo0@00000003T0oooo0P00000h0?ooo`030000003oool0oooo0:P0oooo0P000000 03/0oooo00<000000?ooo`3oool0=@3oool00`000000oooo0?ooo`2W0?ooo`<00000000l0?ooo`80 0000=@3oool00`000000oooo0?ooo`2R0?ooo`D000000`3oool003h0oooo00<000000?ooo`3oool0 "], ImageRangeCache->{{{0, 287}, {311.562, 0}} -> {0.0486402, -4.05116*^-5, \ 0.00298809, 0.00298809}}], Cell[BoxData[ TagBox[\(\[SkeletonIndicator] Graphics3D \[SkeletonIndicator]\), False, Editable->False]], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[{ \(\(update\ := \ For[i = 1; qListNew = {}, \[IndentingNewLine]i <= Length[qList], \(i++\), \[IndentingNewLine]qListNew = Append[qListNew, {\(qList[\([i]\)]\)[\([1]\)] + qDotList[\([i]\)]* dt, \(qList[\([i]\)]\)[\([2]\)]}]];\)\), "\ \[IndentingNewLine]", \(\(qList = qListNew;\)\ \), "\[IndentingNewLine]", \(\(x\ = \ x + v*dt;\)\), "\[IndentingNewLine]", \(\(mat = {};\)\), "\[IndentingNewLine]", \(\(For[i = 1, i \[LessEqual] 3, \(i++\), \[IndentingNewLine]row = {}; \[IndentingNewLine]For[ j = 1, j \[LessEqual] 3, \(j++\), \[IndentingNewLine]value\ = 0; \[IndentingNewLine]For[k = 1, k \[LessEqual] 3, \(k++\), \[IndentingNewLine]value\ += \ \ \(rotDot[\([i]\)]\)[\([k]\)]*\(rot[\([k]\)]\)[\([j]\)]]; \ \[IndentingNewLine]row = Append[row, value];\[IndentingNewLine]]; \[IndentingNewLine]mat = Append[mat, row];\[IndentingNewLine]];\)\), "\[IndentingNewLine]", \(\(rot = mat;\)\[IndentingNewLine]\)}], "Input"], Cell[BoxData[ \(Part::"partw" \(\(:\)\(\ \)\) "Part \!\(1\) of \!\({}\) does not exist."\)], "Message"], Cell[BoxData[ \(Part::"partw" \(\(:\)\(\ \)\) "Part \!\(2\) of \!\({}\) does not exist."\)], "Message"], Cell[BoxData[ \(Part::"partw" \(\(:\)\(\ \)\) "Part \!\(3\) of \!\({}\) does not exist."\)], "Message"], Cell[BoxData[ \(General::"stop" \(\(:\)\(\ \)\) "Further output of \!\(Part :: \"partw\"\) will be suppressed during \ this calculation."\)], "Message"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ \(rot\)], "Input"], Cell[BoxData[ \({{1, 0, 0}, {0, 1, 0}, {0, 0, 1}}\)], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ \(qDotList\)], "Input"], Cell[BoxData[ \({{1, \(-2\), 4}, {1, 0, 2}, {0, \(-1\), 4}, {2, \(-2\), 3}}\)], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ \(qList\)], "Input"], Cell[BoxData[ \({{{\(-1\), 0, 0}, 1}, {{1, 0, 0}, 1}, {{0, 1, 0}, 1}, {{0, 0, 1}, 1}}\)], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ \(dt = .3\)], "Input"], Cell[BoxData[ \(0.3`\)], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ \(qListNew\)], "Input"], Cell[BoxData[ \({{{\(-0.7`\), \(-1.5`\), 2.1`}, 1}, {{1.3`, \(-0.8999999999999999`\), 1.5`}, 1}, {{0, \(-0.19999999999999996`\), 2.1`}, 1}, {{0.6`, \(-1.5`\), 2.8`}, 1}}\)], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ \(alist\)], "Input"], Cell[BoxData[ \({{Line[{{1, 0, 0}, {3, 0, 0}}], Line[{{3, 0, 0}, {2, 1, 0}}], Line[{{2, 1, 0}, {2, 0, 1}}], Line[{{2, 0, 1}, {1, 0, 0}}], Line[{{2, 0, 1}, {3, 0, 0}}], Line[{{2, 1, 0}, {1, 0, 0}}]}, {Line[{{1, 0, 0}, {3, 0, 0}}], Line[{{3, 0, 0}, {2, 1, 0}}], Line[{{2, 1, 0}, {2, 0, 1}}], Line[{{2, 0, 1}, {1, 0, 0}}], Line[{{2, 0, 1}, {3, 0, 0}}], Line[{{2, 1, 0}, {1, 0, 0}}]}, {Line[{{1, 0, 0}, {3, 0, 0}}], Line[{{3, 0, 0}, {2, 1, 0}}], Line[{{2, 1, 0}, {2, 0, 1}}], Line[{{2, 0, 1}, {1, 0, 0}}], Line[{{2, 0, 1}, {3, 0, 0}}], Line[{{2, 1, 0}, {1, 0, 0}}]}, {Line[{{1, 0, 0}, {3, 0, 0}}], Line[{{3, 0, 0}, {2, 1, 0}}], Line[{{2, 1, 0}, {2, 0, 1}}], Line[{{2, 0, 1}, {1, 0, 0}}], Line[{{2, 0, 1}, {3, 0, 0}}], Line[{{2, 1, 0}, {1, 0, 0}}]}, {Line[{{1, 0, 0}, {3, 0, 0}}], Line[{{3, 0, 0}, {2, 1, 0}}], Line[{{2, 1, 0}, {2, 0, 1}}], Line[{{2, 0, 1}, {1, 0, 0}}], Line[{{2, 0, 1}, {3, 0, 0}}], Line[{{2, 1, 0}, {1, 0, 0}}]}, {Line[{{1, 0, 0}, {3, 0, 0}}], Line[{{3, 0, 0}, {2, 1, 0}}], Line[{{2, 1, 0}, {2, 0, 1}}], Line[{{2, 0, 1}, {1, 0, 0}}], Line[{{2, 0, 1}, {3, 0, 0}}], Line[{{2, 1, 0}, {1, 0, 0}}]}, {Line[{{1, 0, 0}, {3, 0, 0}}], Line[{{3, 0, 0}, {2, 1, 0}}], Line[{{2, 1, 0}, {2, 0, 1}}], Line[{{2, 0, 1}, {1, 0, 0}}], Line[{{2, 0, 1}, {3, 0, 0}}], Line[{{2, 1, 0}, {1, 0, 0}}]}, {Line[{{1, 0, 0}, {3, 0, 0}}], Line[{{3, 0, 0}, {2, 1, 0}}], Line[{{2, 1, 0}, {2, 0, 1}}], Line[{{2, 0, 1}, {1, 0, 0}}], Line[{{2, 0, 1}, {3, 0, 0}}], Line[{{2, 1, 0}, {1, 0, 0}}]}, {Line[{{1, 0, 0}, {3, 0, 0}}], Line[{{3, 0, 0}, {2, 1, 0}}], Line[{{2, 1, 0}, {2, 0, 1}}], Line[{{2, 0, 1}, {1, 0, 0}}], Line[{{2, 0, 1}, {3, 0, 0}}], Line[{{2, 1, 0}, {1, 0, 0}}]}}\)], "Output"] }, Open ]] }, FrontEndVersion->"4.0 for Macintosh", ScreenRectangle->{{0, 1024}, {0, 748}}, WindowSize->{520, 626}, WindowMargins->{{Automatic, 113}, {Automatic, 8}}, Magnification->1, MacintoshSystemPageSetup->"\<\ 02P0001804P000000^L2D_ogooL33`9K8085:0?l0000005X0FP000003X<;VP5d 038;VTRX04/00@4100000BL?00400@000000000000000000000000000040I0<0 00000000000@XP404@000000000eDflP\>" ] (*********************************************************************** Cached data follows. If you edit this Notebook file directly, not using Mathematica, you must remove the line containing CacheID at the top of the file. The cache data will then be recreated when you save this file from within Mathematica. ***********************************************************************) (*CellTagsOutline CellTagsIndex->{} *) (*CellTagsIndex CellTagsIndex->{} *) (*NotebookFileOutline Notebook[{ Cell[1717, 49, 378, 5, 107, "Input"], Cell[2098, 56, 52, 1, 27, "Input"], Cell[2153, 59, 381, 7, 139, "Input"], Cell[2537, 68, 228, 4, 75, "Input"], Cell[2768, 74, 192, 4, 59, "Input"], Cell[2963, 80, 206, 4, 59, "Input"], Cell[3172, 86, 276, 6, 59, "Input"], Cell[3451, 94, 127, 3, 43, "Input"], Cell[CellGroupData[{ Cell[3603, 101, 507, 9, 139, "Input"], Cell[4113, 112, 82, 1, 26, "Output"] }, Open ]], Cell[4210, 116, 334, 8, 91, "Input"], Cell[4547, 126, 721, 15, 155, "Input"], Cell[CellGroupData[{ Cell[5293, 145, 122, 2, 43, "Input"], Cell[5418, 149, 34709, 545, 321, 1574, 131, "GraphicsData", "PostScript", \ "Graphics"], Cell[40130, 696, 132, 3, 26, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[40299, 704, 1141, 23, 331, "Input"], Cell[41443, 729, 114, 2, 21, "Message"], Cell[41560, 733, 114, 2, 21, "Message"], Cell[41677, 737, 114, 2, 21, "Message"], Cell[41794, 741, 163, 3, 35, "Message"] }, Open ]], Cell[CellGroupData[{ Cell[41994, 749, 36, 1, 27, "Input"], Cell[42033, 752, 67, 1, 26, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[42137, 758, 41, 1, 27, "Input"], Cell[42181, 761, 93, 1, 26, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[42311, 767, 38, 1, 27, "Input"], Cell[42352, 770, 112, 2, 26, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[42501, 777, 41, 1, 27, "Input"], Cell[42545, 780, 38, 1, 26, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[42620, 786, 41, 1, 27, "Input"], Cell[42664, 789, 214, 4, 41, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[42915, 798, 38, 1, 27, "Input"], Cell[42956, 801, 1915, 28, 416, "Output"] }, Open ]] } ] *) (*********************************************************************** End of Mathematica Notebook file. ***********************************************************************)