一个表示 2x2 矩阵 [link:https://en.wikipedia.org/wiki/Matrix_(mathematics) matrix] 的类。
const m = new Matrix2();
构造函数和 [page:set]() 方法参数采用行优先[link:https://en.wikipedia.org/wiki/Row-_and_column-major_order#Column-major_order row-major],
而它们在内部是用列优先[link:https://en.wikipedia.org/wiki/Row-_and_column-major_order column-major]顺序存储在 [page:.elements elements] 数组当中。
这意味着
m.set( 11, 12,
21, 22 );
元素数组[page:.elements elements]将存储为:
m.elements = [ 11, 21,
12, 22 ];
在内部,所有的计算都是使用列优先顺序进行的。然而,由于实际的排序在数学上没有什么不同,
而且大多数人习惯于以行优先顺序考虑矩阵,所以three.js文档以行为主的顺序显示矩阵。
请记住,如果您正在阅读源代码,您必须对这里列出的任何矩阵进行转置[link:https://en.wikipedia.org/wiki/Transpose transpose],以理解计算。
根据给定的参数,按行优先顺序创建一个 2x2 矩阵。如果没有提供参数,构造函数会将 [name] 初始化为 2x2 单位矩阵([link:https://en.wikipedia.org/wiki/Identity_matrix identity matrix])。
矩阵列优先[link:https://en.wikipedia.org/wiki/Row-_and_column-major_order column-major]列表。
[page:Array array] - 用来存储设置元素数据的数组
[page:Integer offset] - (optional) 数组的偏移量,默认值为 0。
使用基于列优先格式[link:https://en.wikipedia.org/wiki/Row-_and_column-major_order#Column-major_order column-major]的数组来设置该矩阵。
将此矩阵重置为 2x2 单位矩阵:
使用行优先 [link:https://en.wikipedia.org/wiki/Row-_and_column-major_order row-major] 的格式来设置该矩阵:
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]