1XEROXLispLibraryPackagesMATRIXUSEInterlisp-Dcontainslow-levelfunctionsforhigh-speedmatrix-multiplication.TheMatrixUseLispLibrarypackageprovidesfunctionsthatletyoueasilymanipulatethecontentsofthesematrices.(CREATE1BY3)[Function]ReturnsanARRAYthatappearstothematrixmultiplicationfunctionstobea1by3vector.Thephrase"appears...tobea1by3vector"isduetothefactthatInterlisp-Darraysarecurrentlyonedimensional;theMatrixUsepackagetransparentlyfoldstwodimensionsintoone.(CREATE1BY4)[Function]Returnsa1by4vector.(CREATE3BY1)[Function]Returnsa3by1vector.(CREATE3BY3)[Function]Returnsa3by3matrix.(CREATE4BY1)[Function]Returnsa4by1vector.(CREATE4BY4)[Function]Returnsa4by4matrix.(IDENTITY3BY3M)[Function]Returnsa3by3identitymatrix(amatrixwiththeelementsofitsmaindiagonalallsettounity).InthisandallfollowingMatrixUsefunctions,ifMissupplied,setsittobetheidentitymatrixandreturnsit.(IDENTITY4BY4M)[Function] q?` p` q?` g_p`+o5q`X+o5,45 f frafnGJjeJjJje_x_26_x66_x66_x^^#6^66^%Z[t`i/[ZYs`#ZH#6ZY66ZY66ZY66ZYYYx6Y66Y Vq`X =&e() 1?@DJJV T  &*,Y/z3 ;>DFJJT RofRo N C JjN J%p\ "%8) 29:<> ?bA_BG{GJJJ HW1" !1&W'*,2.1b47 ;+?AHJJH FU W" +.1 94;>FU B{ C JjB{ > )}> : C Jj: 6 )}6 3 C Jj3 /9 )r/9 +_ C Jj+_ ' )}' # C Jj#  )r    uIqC Jj 4eR!%(+o13C5$8>@sBDkHI5JJ ux ').).u*Wq*,26,79g;>8CuHJJ w    uIqC Jjy q?`|2XEROXLispLibraryPackagesReturnsa4by4identitymatrix.(ROTATE3BY3THETARADIANSFLGM)[Function]Returnsa3by3matrixthat,whenmultipliedbyavector,willrotatethatvectoranangleofTHETAaroundtheorigin.THETAismeasuredindegreesorradians,dependingonRADIANSFLG.(ROTATE4BY4.ABOUTXTHETARADIANSFLGM)[Function]Returnsa4by4matrixsuitableforrotatingapointin3-spacearoundtheX-axisbyTHETA.(ROTATE4BY4.ABOUTYTHETARADIANSFLGM)[Function]Returnsa4by4matrixsuitableforrotatingapointin3-spacearoundtheY-axisbyTHETA.(ROTATE4BY4.ABOUTZTHETARADIANSFLGM)[Function]Returnsa4by4matrixsuitableforrotatingapointin3-spacearoundtheZ-axisbyTHETA.(SCALE3BY3SxSyM)[Function]Returnsa3by3matrixthatwillscalebyafactorofSxintheX-axisandSyintheY-axis.(SCALE4BY4SxSySzM)[Function]Returnsa4by4matrixthatwillscalebyafactorofSxintheX-axis,SyintheY-axis,andSzintheZ-axis.(TRANSLATE3BY3TxTyM)[Function]Returnsa3by3matrixthatwilltranslatebyadistanceofTxintheX-axisandTyintheY-axis.(TRANSLATE4BY4TxTyTzM)[Function]Returnsa4by4matrixthatwilltranslatebyadistanceofTxintheX-axis,TyintheY-axis,andTzintheZ-axis.(SET.XCOORDVECTORVALUE)[Function]GivenavectorVECTORoflength3or4,setstheXcomponenttobeVALUE.(SET.YCOORDVECTORVALUE)[Function]Jj gq`X+o5,45 f frafnGJjeJjJje ^q`X )k^ Z qqZuZ) #)$RZqZC JjZ W5gU#! (*+037&:>k@nD_F F WuWJiWqWJJW Tx44TuTTqTL#%s*,29/;);)TuT CTqTD3T QQuQ @ )@*iQqQC JjQ M6 )h!'(6+-G279>+@@M6uM6DM6qM6DM6 I\I\uI\ L )L*uI\qI\C JjI\ E )h!'(6+-G279>7@@EuEDEqEDE AAuA @ )@*iAqAC JjA = )h!'(6+-G279>+@@=u=D=q=D= 9 9u9]VDm9q9C Jj9 6 )h0#G% &=*N++6u6-6q6-/^15886u6:L6q6:<%>Br6u6B6q6B6 2@ ]]2@u2@VD2[2@q2@C Jj2@ .f*V>j #%&+,,.fu.f.I.fq.f.0@27Y7Y.fu.f8.fq.f9V:=PB DD.fu.fFo.fq.fFHfJJ.f ,3y,3u,3,3q,3,3 (Y (Yu(Y(Yq(YC Jj(Y $ )h0%v'O(l.*//$u$1L$q$13%59<}<}$u$=$q$>V?B2F$  u  q C Jj . (r<%'`(.?//u1bq13?5:=:=u;q<=?DGfGfuHqI@JJ  u7q7  nnuPqC Jj   uq !#%#%{(e*+35!77u;zq;  zz u \ q C Jj  q?`3XEROXLispLibraryPackagesSetstheYcomponentofVECTORtobeVALUE.(SET.ZCOORDVECTORVALUE)[Function]SetstheZcomponentofVECTORtobeVALUE.(SET.WCOORDVECTORVALUE)[Function]SetstheW(fourth)componentofVECTORtobeVALUE.(GET.XCOORDVECTOR)[Function]ReturnstheXcomponentofVECTOR.(GET.YCOORDVECTOR)[Function]ReturnstheYcomponentofVECTOR.(GET.ZCOORDVECTOR)[Function]ReturnstheZcomponentofVECTOR.(GET.WCOORDVECTOR)[Function]ReturnstheWcomponentofVECTOR.Jj gq`X+o5,45 f frafnGJjeJjJje ^q`XX{{^u^!^q^!]"$$^u^)L^q^)^ Z nnZuZPZqZC JjZ WLooWuW WqW!Q"$$WuW)@WqW)W SC SCuSC SCqSCC JjSC OiX OiuOi&xOiqOi&(f*T*TOiuOi.OiqOi/!Oi K KuK%KqKC JjK GJGuG#GqG#G C CuC1CqCC JjC @J!@u@#@q@#@ <' <'u<'%<'q<'C Jj<' 8MJ8Mu8M#8M 4sq 4su4s4sq4sC Jj4s 0Jy0u0#0 ,q , ( ( q?` HELVETICA  HELVETICA  HELVETICA XLOGO  HELVETICA ~GACHA hj/|t 0{ERIS}INTERMEZZO>LIBRARY>MATRIXUSE.PRESS;1JAMES 4-Apr-85 14:57:53