MCPcopy
hub / github.com/AlloyTeam/PhyTouch / multiplyMatrices

Method multiplyMatrices

transformjs/react/transform.react.js:44–80  ·  view source on GitHub ↗
(a, be)

Source from the content-addressed store, hash-verified

42 }
43
44 multiplyMatrices(a, be) {
45
46 var ae = a.elements;
47 var te = this.elements;
48 var a11 = ae[0], a12 = ae[4], a13 = ae[8], a14 = ae[12];
49 var a21 = ae[1], a22 = ae[5], a23 = ae[9], a24 = ae[13];
50 var a31 = ae[2], a32 = ae[6], a33 = ae[10], a34 = ae[14];
51 var a41 = ae[3], a42 = ae[7], a43 = ae[11], a44 = ae[15];
52
53 var b11 = be[0], b12 = be[1], b13 = be[2], b14 = be[3];
54 var b21 = be[4], b22 = be[5], b23 = be[6], b24 = be[7];
55 var b31 = be[8], b32 = be[9], b33 = be[10], b34 = be[11];
56 var b41 = be[12], b42 = be[13], b43 = be[14], b44 = be[15];
57
58 te[0] = a11 * b11 + a12 * b21 + a13 * b31 + a14 * b41;
59 te[4] = a11 * b12 + a12 * b22 + a13 * b32 + a14 * b42;
60 te[8] = a11 * b13 + a12 * b23 + a13 * b33 + a14 * b43;
61 te[12] = a11 * b14 + a12 * b24 + a13 * b34 + a14 * b44;
62
63 te[1] = a21 * b11 + a22 * b21 + a23 * b31 + a24 * b41;
64 te[5] = a21 * b12 + a22 * b22 + a23 * b32 + a24 * b42;
65 te[9] = a21 * b13 + a22 * b23 + a23 * b33 + a24 * b43;
66 te[13] = a21 * b14 + a22 * b24 + a23 * b34 + a24 * b44;
67
68 te[2] = a31 * b11 + a32 * b21 + a33 * b31 + a34 * b41;
69 te[6] = a31 * b12 + a32 * b22 + a33 * b32 + a34 * b42;
70 te[10] = a31 * b13 + a32 * b23 + a33 * b33 + a34 * b43;
71 te[14] = a31 * b14 + a32 * b24 + a33 * b34 + a34 * b44;
72
73 te[3] = a41 * b11 + a42 * b21 + a43 * b31 + a44 * b41;
74 te[7] = a41 * b12 + a42 * b22 + a43 * b32 + a44 * b42;
75 te[11] = a41 * b13 + a42 * b23 + a43 * b33 + a44 * b43;
76 te[15] = a41 * b14 + a42 * b24 + a43 * b34 + a44 * b44;
77
78 return this;
79
80 }
81
82 // 解决角度为90的整数倍导致Math.cos得到极小的数,其实是0。导致不渲染
83 _rounded(value, i) {

Callers 7

appendTransformMethod · 0.95
three.jsFile · 0.80
renderObjectsFunction · 0.80
projectObjectFunction · 0.80
transform.jsFile · 0.80
index.jsFile · 0.80
transform.jsFile · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected