Advertisement
Guest User

Untitled

a guest
Jul 18th, 2019
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.91 KB | None | 0 0
  1. export function invert3x2(a: number[]) {
  2. // 00 01 02
  3. // 10 11 12
  4. // 20 21 22
  5. const [
  6. a00,
  7. a10,
  8. a01,
  9. a11,
  10. a02,
  11. a12,
  12. ] = a;
  13. const a20 = 0;
  14. const a21 = 0;
  15. const a22 = 1;
  16.  
  17. const det
  18. = a00 * a11 * a22
  19. + a01 * a12 * a20
  20. + a02 * a10 * a21
  21. - a02 * a11 * a20
  22. - a01 * a10 * a22
  23. - a00 * a12 * a21;
  24.  
  25. const b00 = a11 * a22 - a12 * a21;
  26. const b01 = a02 * a21 - a01 * a22;
  27. const b02 = a01 * a12 - a02 * a11;
  28.  
  29. const b10 = a12 * a20 - a10 * a22;
  30. const b11 = a22 * a00 - a20 * a02;
  31. const b12 = a02 * a10 - a00 * a12;
  32.  
  33. // const b20 = a11 * a21 - a11 * a20;
  34. // const b21 = a20 * a01 - a21 * a00;
  35. // const b22 = a00 * a11 - a01 * a10;
  36.  
  37. a[0] = b00 / det;
  38. a[1] = b10 / det;
  39. a[2] = b01 / det;
  40. a[3] = b11 / det;
  41. a[4] = b02 / det;
  42. a[5] = b12 / det;
  43.  
  44. return a;
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement