Matrix.html 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>JSDoc: Class: Matrix</title>
  6. <script src="scripts/prettify/prettify.js"> </script>
  7. <script src="scripts/prettify/lang-css.js"> </script>
  8. <!--[if lt IE 9]>
  9. <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
  10. <![endif]-->
  11. <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
  12. <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
  13. </head>
  14. <body>
  15. <div id="main">
  16. <h1 class="page-title">Class: Matrix</h1>
  17. <section>
  18. <header>
  19. <h2><span class="attribs"><span class="type-signature"></span></span>Matrix<span class="signature">(values)</span><span class="type-signature"></span></h2>
  20. </header>
  21. <article>
  22. <div class="container-overview">
  23. <h4 class="name" id="Matrix"><span class="type-signature"></span>new Matrix<span class="signature">(values)</span><span class="type-signature"></span></h4>
  24. <div class="description">
  25. 2D 3x2 transformation matrix, used to represent linear geometric transformations over objects.
  26. The values of the matrix are stored as numeric array. The matrix can be applied to the canvas or DOM elements using CSS transforms.
  27. </div>
  28. <h5>Parameters:</h5>
  29. <table class="params">
  30. <thead>
  31. <tr>
  32. <th>Name</th>
  33. <th>Type</th>
  34. <th class="last">Description</th>
  35. </tr>
  36. </thead>
  37. <tbody>
  38. <tr>
  39. <td class="name"><code>values</code></td>
  40. <td class="type">
  41. <span class="param-type">Array.&lt;number></span>
  42. </td>
  43. <td class="description last">Array of matrix values by row, needs to have exactly 6 values. Default is the identity matrix.</td>
  44. </tr>
  45. </tbody>
  46. </table>
  47. <dl class="details">
  48. <dt class="tag-source">Source:</dt>
  49. <dd class="tag-source"><ul class="dummy"><li>
  50. <a href="math_Matrix.js.html">math/Matrix.js</a>, <a href="math_Matrix.js.html#line11">line 11</a>
  51. </li></ul></dd>
  52. </dl>
  53. </div>
  54. <h3 class="subsection-title">Members</h3>
  55. <h4 class="name" id="m"><span class="type-signature"></span>m<span class="type-signature"> :Array.&lt;number></span></h4>
  56. <div class="description">
  57. Array that contains the matrix data by row. This matrix should have 6 values.
  58. Matrix can be directly edited by accessing this attribute.
  59. </div>
  60. <h5>Type:</h5>
  61. <ul>
  62. <li>
  63. <span class="param-type">Array.&lt;number></span>
  64. </li>
  65. </ul>
  66. <dl class="details">
  67. <dt class="tag-source">Source:</dt>
  68. <dd class="tag-source"><ul class="dummy"><li>
  69. <a href="math_Matrix.js.html">math/Matrix.js</a>, <a href="math_Matrix.js.html#line22">line 22</a>
  70. </li></ul></dd>
  71. </dl>
  72. <h3 class="subsection-title">Methods</h3>
  73. <h4 class="name" id="clone"><span class="type-signature"></span>clone<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="Matrix.html">Matrix</a>}</span></h4>
  74. <div class="description">
  75. Create a new matrix object with a copy of the content of this one.
  76. </div>
  77. <dl class="details">
  78. <dt class="tag-source">Source:</dt>
  79. <dd class="tag-source"><ul class="dummy"><li>
  80. <a href="math_Matrix.js.html">math/Matrix.js</a>, <a href="math_Matrix.js.html#line45">line 45</a>
  81. </li></ul></dd>
  82. </dl>
  83. <h5>Returns:</h5>
  84. <div class="param-desc">
  85. Copy of this matrix.
  86. </div>
  87. <dl>
  88. <dt>
  89. Type
  90. </dt>
  91. <dd>
  92. <span class="param-type"><a href="Matrix.html">Matrix</a></span>
  93. </dd>
  94. </dl>
  95. <h4 class="name" id="compose"><span class="type-signature"></span>compose<span class="signature">(px, py, sx, sy, ox, oy, rot)</span><span class="type-signature"></span></h4>
  96. <div class="description">
  97. Compose this transformation matrix with position scale and rotation and origin point.
  98. </div>
  99. <h5>Parameters:</h5>
  100. <table class="params">
  101. <thead>
  102. <tr>
  103. <th>Name</th>
  104. <th>Type</th>
  105. <th class="last">Description</th>
  106. </tr>
  107. </thead>
  108. <tbody>
  109. <tr>
  110. <td class="name"><code>px</code></td>
  111. <td class="type">
  112. <span class="param-type">number</span>
  113. </td>
  114. <td class="description last">Position X</td>
  115. </tr>
  116. <tr>
  117. <td class="name"><code>py</code></td>
  118. <td class="type">
  119. <span class="param-type">number</span>
  120. </td>
  121. <td class="description last">Position Y</td>
  122. </tr>
  123. <tr>
  124. <td class="name"><code>sx</code></td>
  125. <td class="type">
  126. <span class="param-type">number</span>
  127. </td>
  128. <td class="description last">Scale X</td>
  129. </tr>
  130. <tr>
  131. <td class="name"><code>sy</code></td>
  132. <td class="type">
  133. <span class="param-type">number</span>
  134. </td>
  135. <td class="description last">Scale Y</td>
  136. </tr>
  137. <tr>
  138. <td class="name"><code>ox</code></td>
  139. <td class="type">
  140. <span class="param-type">number</span>
  141. </td>
  142. <td class="description last">Origin X (applied before scale and rotation)</td>
  143. </tr>
  144. <tr>
  145. <td class="name"><code>oy</code></td>
  146. <td class="type">
  147. <span class="param-type">number</span>
  148. </td>
  149. <td class="description last">Origin Y (applied before scale and rotation)</td>
  150. </tr>
  151. <tr>
  152. <td class="name"><code>rot</code></td>
  153. <td class="type">
  154. <span class="param-type">number</span>
  155. </td>
  156. <td class="description last">Rotation angle (radians).</td>
  157. </tr>
  158. </tbody>
  159. </table>
  160. <dl class="details">
  161. <dt class="tag-source">Source:</dt>
  162. <dd class="tag-source"><ul class="dummy"><li>
  163. <a href="math_Matrix.js.html">math/Matrix.js</a>, <a href="math_Matrix.js.html#line103">line 103</a>
  164. </li></ul></dd>
  165. </dl>
  166. <h4 class="name" id="copy"><span class="type-signature"></span>copy<span class="signature">(mat)</span><span class="type-signature"></span></h4>
  167. <div class="description">
  168. Copy the content of another matrix and store in this one.
  169. </div>
  170. <h5>Parameters:</h5>
  171. <table class="params">
  172. <thead>
  173. <tr>
  174. <th>Name</th>
  175. <th>Type</th>
  176. <th class="last">Description</th>
  177. </tr>
  178. </thead>
  179. <tbody>
  180. <tr>
  181. <td class="name"><code>mat</code></td>
  182. <td class="type">
  183. <span class="param-type"><a href="Matrix.html">Matrix</a></span>
  184. </td>
  185. <td class="description last">Matrix to copy values from.</td>
  186. </tr>
  187. </tbody>
  188. </table>
  189. <dl class="details">
  190. <dt class="tag-source">Source:</dt>
  191. <dd class="tag-source"><ul class="dummy"><li>
  192. <a href="math_Matrix.js.html">math/Matrix.js</a>, <a href="math_Matrix.js.html#line35">line 35</a>
  193. </li></ul></dd>
  194. </dl>
  195. <h4 class="name" id="cssTransform"><span class="type-signature"></span>cssTransform<span class="signature">()</span><span class="type-signature"> &rarr; {string}</span></h4>
  196. <div class="description">
  197. Generate a CSS transform string that can be applied to the transform style of any DOM element.
  198. </div>
  199. <dl class="details">
  200. <dt class="tag-source">Source:</dt>
  201. <dd class="tag-source"><ul class="dummy"><li>
  202. <a href="math_Matrix.js.html">math/Matrix.js</a>, <a href="math_Matrix.js.html#line282">line 282</a>
  203. </li></ul></dd>
  204. </dl>
  205. <h5>Returns:</h5>
  206. <div class="param-desc">
  207. CSS transform matrix.
  208. </div>
  209. <dl>
  210. <dt>
  211. Type
  212. </dt>
  213. <dd>
  214. <span class="param-type">string</span>
  215. </dd>
  216. </dl>
  217. <h4 class="name" id="determinant"><span class="type-signature"></span>determinant<span class="signature">()</span><span class="type-signature"> &rarr; {number}</span></h4>
  218. <div class="description">
  219. Get the matrix determinant.
  220. </div>
  221. <dl class="details">
  222. <dt class="tag-source">Source:</dt>
  223. <dd class="tag-source"><ul class="dummy"><li>
  224. <a href="math_Matrix.js.html">math/Matrix.js</a>, <a href="math_Matrix.js.html#line226">line 226</a>
  225. </li></ul></dd>
  226. </dl>
  227. <h5>Returns:</h5>
  228. <div class="param-desc">
  229. Determinant of this matrix.
  230. </div>
  231. <dl>
  232. <dt>
  233. Type
  234. </dt>
  235. <dd>
  236. <span class="param-type">number</span>
  237. </dd>
  238. </dl>
  239. <h4 class="name" id="getInverse"><span class="type-signature"></span>getInverse<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="Matrix.html">Matrix</a>}</span></h4>
  240. <div class="description">
  241. Get the inverse matrix.
  242. </div>
  243. <dl class="details">
  244. <dt class="tag-source">Source:</dt>
  245. <dd class="tag-source"><ul class="dummy"><li>
  246. <a href="math_Matrix.js.html">math/Matrix.js</a>, <a href="math_Matrix.js.html#line236">line 236</a>
  247. </li></ul></dd>
  248. </dl>
  249. <h5>Returns:</h5>
  250. <div class="param-desc">
  251. New matrix instance containing the inverse matrix.
  252. </div>
  253. <dl>
  254. <dt>
  255. Type
  256. </dt>
  257. <dd>
  258. <span class="param-type"><a href="Matrix.html">Matrix</a></span>
  259. </dd>
  260. </dl>
  261. <h4 class="name" id="getPosition"><span class="type-signature"></span>getPosition<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="Vector2.html">Vector2</a>}</span></h4>
  262. <div class="description">
  263. Extract the position from the transformation matrix.
  264. </div>
  265. <dl class="details">
  266. <dt class="tag-source">Source:</dt>
  267. <dd class="tag-source"><ul class="dummy"><li>
  268. <a href="math_Matrix.js.html">math/Matrix.js</a>, <a href="math_Matrix.js.html#line205">line 205</a>
  269. </li></ul></dd>
  270. </dl>
  271. <h5>Returns:</h5>
  272. <div class="param-desc">
  273. Position of the matrix transformation.
  274. </div>
  275. <dl>
  276. <dt>
  277. Type
  278. </dt>
  279. <dd>
  280. <span class="param-type"><a href="Vector2.html">Vector2</a></span>
  281. </dd>
  282. </dl>
  283. <h4 class="name" id="getScale"><span class="type-signature"></span>getScale<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="Vector2.html">Vector2</a>}</span></h4>
  284. <div class="description">
  285. Extract the scale from the transformation matrix.
  286. </div>
  287. <dl class="details">
  288. <dt class="tag-source">Source:</dt>
  289. <dd class="tag-source"><ul class="dummy"><li>
  290. <a href="math_Matrix.js.html">math/Matrix.js</a>, <a href="math_Matrix.js.html#line195">line 195</a>
  291. </li></ul></dd>
  292. </dl>
  293. <h5>Returns:</h5>
  294. <div class="param-desc">
  295. Scale of the matrix transformation.
  296. </div>
  297. <dl>
  298. <dt>
  299. Type
  300. </dt>
  301. <dd>
  302. <span class="param-type"><a href="Vector2.html">Vector2</a></span>
  303. </dd>
  304. </dl>
  305. <h4 class="name" id="identity"><span class="type-signature"></span>identity<span class="signature">()</span><span class="type-signature"></span></h4>
  306. <div class="description">
  307. Reset this matrix to identity.
  308. </div>
  309. <dl class="details">
  310. <dt class="tag-source">Source:</dt>
  311. <dd class="tag-source"><ul class="dummy"><li>
  312. <a href="math_Matrix.js.html">math/Matrix.js</a>, <a href="math_Matrix.js.html#line53">line 53</a>
  313. </li></ul></dd>
  314. </dl>
  315. <h4 class="name" id="multiply"><span class="type-signature"></span>multiply<span class="signature">(mat)</span><span class="type-signature"></span></h4>
  316. <div class="description">
  317. Multiply another matrix by this one and store the result.
  318. </div>
  319. <h5>Parameters:</h5>
  320. <table class="params">
  321. <thead>
  322. <tr>
  323. <th>Name</th>
  324. <th>Type</th>
  325. <th class="last">Description</th>
  326. </tr>
  327. </thead>
  328. <tbody>
  329. <tr>
  330. <td class="name"><code>mat</code></td>
  331. <td class="type">
  332. <span class="param-type"><a href="Matrix.html">Matrix</a></span>
  333. </td>
  334. <td class="description last">Matrix to multiply by.</td>
  335. </tr>
  336. </tbody>
  337. </table>
  338. <dl class="details">
  339. <dt class="tag-source">Source:</dt>
  340. <dd class="tag-source"><ul class="dummy"><li>
  341. <a href="math_Matrix.js.html">math/Matrix.js</a>, <a href="math_Matrix.js.html#line63">line 63</a>
  342. </li></ul></dd>
  343. </dl>
  344. <h4 class="name" id="premultiply"><span class="type-signature"></span>premultiply<span class="signature">(mat)</span><span class="type-signature"></span></h4>
  345. <div class="description">
  346. Premultiply another matrix by this one and store the result.
  347. </div>
  348. <h5>Parameters:</h5>
  349. <table class="params">
  350. <thead>
  351. <tr>
  352. <th>Name</th>
  353. <th>Type</th>
  354. <th class="last">Description</th>
  355. </tr>
  356. </thead>
  357. <tbody>
  358. <tr>
  359. <td class="name"><code>mat</code></td>
  360. <td class="type">
  361. <span class="param-type"><a href="Matrix.html">Matrix</a></span>
  362. </td>
  363. <td class="description last">Matrix to premultiply by.</td>
  364. </tr>
  365. </tbody>
  366. </table>
  367. <dl class="details">
  368. <dt class="tag-source">Source:</dt>
  369. <dd class="tag-source"><ul class="dummy"><li>
  370. <a href="math_Matrix.js.html">math/Matrix.js</a>, <a href="math_Matrix.js.html#line80">line 80</a>
  371. </li></ul></dd>
  372. </dl>
  373. <h4 class="name" id="rotate"><span class="type-signature"></span>rotate<span class="signature">(rad)</span><span class="type-signature"></span></h4>
  374. <div class="description">
  375. Apply rotation to this matrix.
  376. </div>
  377. <h5>Parameters:</h5>
  378. <table class="params">
  379. <thead>
  380. <tr>
  381. <th>Name</th>
  382. <th>Type</th>
  383. <th class="last">Description</th>
  384. </tr>
  385. </thead>
  386. <tbody>
  387. <tr>
  388. <td class="name"><code>rad</code></td>
  389. <td class="type">
  390. <span class="param-type">number</span>
  391. </td>
  392. <td class="description last">Angle to rotate the matrix in radians.</td>
  393. </tr>
  394. </tbody>
  395. </table>
  396. <dl class="details">
  397. <dt class="tag-source">Source:</dt>
  398. <dd class="tag-source"><ul class="dummy"><li>
  399. <a href="math_Matrix.js.html">math/Matrix.js</a>, <a href="math_Matrix.js.html#line148">line 148</a>
  400. </li></ul></dd>
  401. </dl>
  402. <h4 class="name" id="scale"><span class="type-signature"></span>scale<span class="signature">(sx, sy)</span><span class="type-signature"></span></h4>
  403. <div class="description">
  404. Apply scale to this matrix.
  405. </div>
  406. <h5>Parameters:</h5>
  407. <table class="params">
  408. <thead>
  409. <tr>
  410. <th>Name</th>
  411. <th>Type</th>
  412. <th class="last">Description</th>
  413. </tr>
  414. </thead>
  415. <tbody>
  416. <tr>
  417. <td class="name"><code>sx</code></td>
  418. <td class="type">
  419. <span class="param-type">number</span>
  420. </td>
  421. <td class="description last"></td>
  422. </tr>
  423. <tr>
  424. <td class="name"><code>sy</code></td>
  425. <td class="type">
  426. <span class="param-type">number</span>
  427. </td>
  428. <td class="description last"></td>
  429. </tr>
  430. </tbody>
  431. </table>
  432. <dl class="details">
  433. <dt class="tag-source">Source:</dt>
  434. <dd class="tag-source"><ul class="dummy"><li>
  435. <a href="math_Matrix.js.html">math/Matrix.js</a>, <a href="math_Matrix.js.html#line170">line 170</a>
  436. </li></ul></dd>
  437. </dl>
  438. <h4 class="name" id="setContextTransform"><span class="type-signature"></span>setContextTransform<span class="signature">(context)</span><span class="type-signature"></span></h4>
  439. <div class="description">
  440. Set a canvas context to use this transformation.
  441. </div>
  442. <h5>Parameters:</h5>
  443. <table class="params">
  444. <thead>
  445. <tr>
  446. <th>Name</th>
  447. <th>Type</th>
  448. <th class="last">Description</th>
  449. </tr>
  450. </thead>
  451. <tbody>
  452. <tr>
  453. <td class="name"><code>context</code></td>
  454. <td class="type">
  455. <span class="param-type">CanvasRenderingContext2D</span>
  456. </td>
  457. <td class="description last">Canvas context to apply this matrix transform.</td>
  458. </tr>
  459. </tbody>
  460. </table>
  461. <dl class="details">
  462. <dt class="tag-source">Source:</dt>
  463. <dd class="tag-source"><ul class="dummy"><li>
  464. <a href="math_Matrix.js.html">math/Matrix.js</a>, <a href="math_Matrix.js.html#line262">line 262</a>
  465. </li></ul></dd>
  466. </dl>
  467. <h4 class="name" id="setPosition"><span class="type-signature"></span>setPosition<span class="signature">(x, y)</span><span class="type-signature"></span></h4>
  468. <div class="description">
  469. Set the position of the transformation matrix.
  470. </div>
  471. <h5>Parameters:</h5>
  472. <table class="params">
  473. <thead>
  474. <tr>
  475. <th>Name</th>
  476. <th>Type</th>
  477. <th class="last">Description</th>
  478. </tr>
  479. </thead>
  480. <tbody>
  481. <tr>
  482. <td class="name"><code>x</code></td>
  483. <td class="type">
  484. <span class="param-type">number</span>
  485. </td>
  486. <td class="description last"></td>
  487. </tr>
  488. <tr>
  489. <td class="name"><code>y</code></td>
  490. <td class="type">
  491. <span class="param-type">number</span>
  492. </td>
  493. <td class="description last"></td>
  494. </tr>
  495. </tbody>
  496. </table>
  497. <dl class="details">
  498. <dt class="tag-source">Source:</dt>
  499. <dd class="tag-source"><ul class="dummy"><li>
  500. <a href="math_Matrix.js.html">math/Matrix.js</a>, <a href="math_Matrix.js.html#line184">line 184</a>
  501. </li></ul></dd>
  502. </dl>
  503. <h4 class="name" id="skew"><span class="type-signature"></span>skew<span class="signature">(radianX, radianY)</span><span class="type-signature"></span></h4>
  504. <div class="description">
  505. Apply skew to this matrix.
  506. </div>
  507. <h5>Parameters:</h5>
  508. <table class="params">
  509. <thead>
  510. <tr>
  511. <th>Name</th>
  512. <th>Type</th>
  513. <th class="last">Description</th>
  514. </tr>
  515. </thead>
  516. <tbody>
  517. <tr>
  518. <td class="name"><code>radianX</code></td>
  519. <td class="type">
  520. <span class="param-type">number</span>
  521. </td>
  522. <td class="description last"></td>
  523. </tr>
  524. <tr>
  525. <td class="name"><code>radianY</code></td>
  526. <td class="type">
  527. <span class="param-type">number</span>
  528. </td>
  529. <td class="description last"></td>
  530. </tr>
  531. </tbody>
  532. </table>
  533. <dl class="details">
  534. <dt class="tag-source">Source:</dt>
  535. <dd class="tag-source"><ul class="dummy"><li>
  536. <a href="math_Matrix.js.html">math/Matrix.js</a>, <a href="math_Matrix.js.html#line216">line 216</a>
  537. </li></ul></dd>
  538. </dl>
  539. <h4 class="name" id="tranformContext"><span class="type-signature"></span>tranformContext<span class="signature">(context)</span><span class="type-signature"></span></h4>
  540. <div class="description">
  541. Transform on top of the current context transformation.
  542. </div>
  543. <h5>Parameters:</h5>
  544. <table class="params">
  545. <thead>
  546. <tr>
  547. <th>Name</th>
  548. <th>Type</th>
  549. <th class="last">Description</th>
  550. </tr>
  551. </thead>
  552. <tbody>
  553. <tr>
  554. <td class="name"><code>context</code></td>
  555. <td class="type">
  556. <span class="param-type">CanvasRenderingContext2D</span>
  557. </td>
  558. <td class="description last">Canvas context to apply this matrix transform.</td>
  559. </tr>
  560. </tbody>
  561. </table>
  562. <dl class="details">
  563. <dt class="tag-source">Source:</dt>
  564. <dd class="tag-source"><ul class="dummy"><li>
  565. <a href="math_Matrix.js.html">math/Matrix.js</a>, <a href="math_Matrix.js.html#line272">line 272</a>
  566. </li></ul></dd>
  567. </dl>
  568. <h4 class="name" id="transformPoint"><span class="type-signature"></span>transformPoint<span class="signature">(p)</span><span class="type-signature"> &rarr; {<a href="Vector2.html">Vector2</a>}</span></h4>
  569. <div class="description">
  570. Transform a point using this matrix.
  571. </div>
  572. <h5>Parameters:</h5>
  573. <table class="params">
  574. <thead>
  575. <tr>
  576. <th>Name</th>
  577. <th>Type</th>
  578. <th class="last">Description</th>
  579. </tr>
  580. </thead>
  581. <tbody>
  582. <tr>
  583. <td class="name"><code>p</code></td>
  584. <td class="type">
  585. <span class="param-type"><a href="Vector2.html">Vector2</a></span>
  586. </td>
  587. <td class="description last">Point to be transformed.</td>
  588. </tr>
  589. </tbody>
  590. </table>
  591. <dl class="details">
  592. <dt class="tag-source">Source:</dt>
  593. <dd class="tag-source"><ul class="dummy"><li>
  594. <a href="math_Matrix.js.html">math/Matrix.js</a>, <a href="math_Matrix.js.html#line249">line 249</a>
  595. </li></ul></dd>
  596. </dl>
  597. <h5>Returns:</h5>
  598. <div class="param-desc">
  599. Transformed point.
  600. </div>
  601. <dl>
  602. <dt>
  603. Type
  604. </dt>
  605. <dd>
  606. <span class="param-type"><a href="Vector2.html">Vector2</a></span>
  607. </dd>
  608. </dl>
  609. <h4 class="name" id="translate"><span class="type-signature"></span>translate<span class="signature">(x, y)</span><span class="type-signature"></span></h4>
  610. <div class="description">
  611. Apply translation to this matrix.
  612. Adds position over the transformation already stored in the matrix.
  613. </div>
  614. <h5>Parameters:</h5>
  615. <table class="params">
  616. <thead>
  617. <tr>
  618. <th>Name</th>
  619. <th>Type</th>
  620. <th class="last">Description</th>
  621. </tr>
  622. </thead>
  623. <tbody>
  624. <tr>
  625. <td class="name"><code>x</code></td>
  626. <td class="type">
  627. <span class="param-type">number</span>
  628. </td>
  629. <td class="description last"></td>
  630. </tr>
  631. <tr>
  632. <td class="name"><code>y</code></td>
  633. <td class="type">
  634. <span class="param-type">number</span>
  635. </td>
  636. <td class="description last"></td>
  637. </tr>
  638. </tbody>
  639. </table>
  640. <dl class="details">
  641. <dt class="tag-source">Source:</dt>
  642. <dd class="tag-source"><ul class="dummy"><li>
  643. <a href="math_Matrix.js.html">math/Matrix.js</a>, <a href="math_Matrix.js.html#line137">line 137</a>
  644. </li></ul></dd>
  645. </dl>
  646. </article>
  647. </section>
  648. </div>
  649. <nav>
  650. <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="AnimationTimer.html">AnimationTimer</a></li><li><a href="BarGraph.html">BarGraph</a></li><li><a href="BezierCurve.html">BezierCurve</a></li><li><a href="Box.html">Box</a></li><li><a href="Box2.html">Box2</a></li><li><a href="BoxMask.html">BoxMask</a></li><li><a href="Circle.html">Circle</a></li><li><a href="ColorStyle.html">ColorStyle</a></li><li><a href="DOM.html">DOM</a></li><li><a href="EventManager.html">EventManager</a></li><li><a href="FileUtils.html">FileUtils</a></li><li><a href="Gauge.html">Gauge</a></li><li><a href="GradientColorStop.html">GradientColorStop</a></li><li><a href="GradientStyle.html">GradientStyle</a></li><li><a href="Graph.html">Graph</a></li><li><a href="Helpers.html">Helpers</a></li><li><a href="Image.html">Image</a></li><li><a href="Key.html">Key</a></li><li><a href="Line.html">Line</a></li><li><a href="LinearGradientStyle.html">LinearGradientStyle</a></li><li><a href="Mask.html">Mask</a></li><li><a href="Matrix.html">Matrix</a></li><li><a href="MultiLineText.html">MultiLineText</a></li><li><a href="Node.html">Node</a></li><li><a href="NodeConnector.html">NodeConnector</a></li><li><a href="NodeGraph.html">NodeGraph</a></li><li><a href="NodeSocket.html">NodeSocket</a></li><li><a href="Object2D.html">Object2D</a></li><li><a href="Path.html">Path</a></li><li><a href="Pattern.html">Pattern</a></li><li><a href="PatternStyle.html">PatternStyle</a></li><li><a href="PieChart.html">PieChart</a></li><li><a href="Pointer.html">Pointer</a></li><li><a href="QuadraticCurve.html">QuadraticCurve</a></li><li><a href="RadialGradientStyle.html">RadialGradientStyle</a></li><li><a href="Renderer.html">Renderer</a></li><li><a href="RoundedBox.html">RoundedBox</a></li><li><a href="ScatterGraph.html">ScatterGraph</a></li><li><a href="Style.html">Style</a></li><li><a href="Text.html">Text</a></li><li><a href="UUID.html">UUID</a></li><li><a href="Vector2.html">Vector2</a></li><li><a href="Viewport.html">Viewport</a></li><li><a href="ViewportControls.html">ViewportControls</a></li></ul><h3>Global</h3><ul><li><a href="global.html#writeFile">writeFile</a></li></ul>
  651. </nav>
  652. <br class="clear">
  653. <footer>
  654. Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.11</a> on Sat Sep 17 2022 14:24:36 GMT+0100 (Hora de verão da Europa Ocidental)
  655. </footer>
  656. <script> prettyPrint(); </script>
  657. <script src="scripts/linenumber.js"> </script>
  658. </body>
  659. </html>