一个 2x2 矩阵,可作为列主次数组索引。为便于代码阅读,构造函数参数按行主序排列。
Name | Type | Default | Description |
---|---|---|---|
column0Row0 |
Number |
0.0
|
optional 第 0 列第 0 行的值。 |
column1Row0 |
Number |
0.0
|
optional 第 1 列第 0 行的值。 |
column0Row1 |
Number |
0.0
|
optional 第 0 列第 1 行的值。 |
column1Row1 |
Number |
0.0
|
optional 第 1 列第 1 行的值。 |
Members
-
获取集合中的项目数。
-
Matrix2 中第 0 列第 0 行的索引。
Example:
var matrix = new SuperMap3D.Matrix2(); matrix[SuperMap3D.Matrix2.COLUMN0ROW0] = 5.0; // set column 0, row 0 to 5.0
-
Matrix2 中第 0 列第 1 行的索引。
Example:
var matrix = new SuperMap3D.Matrix2(); matrix[SuperMap3D.Matrix2.COLUMN0ROW1] = 5.0; // set column 0, row 1 to 5.0
-
Matrix2 中第 1 列第 0 行的索引。
Example:
var matrix = new SuperMap3D.Matrix2(); matrix[SuperMap3D.Matrix2.COLUMN1ROW0] = 5.0; // set column 1, row 0 to 5.0
-
第 1 列第 1 行的 Matrix2 索引。
Example:
var matrix = new SuperMap3D.Matrix2(); matrix[SuperMap3D.Matrix2.COLUMN1ROW1] = 5.0; // set column 1, row 1 to 5.0
-
staticconstantSuperMap3D.Matrix2.IDENTITY : Matrix2
-
初始化为单位矩阵的不可变 Matrix2 实例。
-
用于将对象打包到数组中的元素个数。
-
staticconstantSuperMap3D.Matrix2.ZERO : Matrix2
-
初始化为零矩阵的不可变 Matrix2 实例。
Methods
-
clone(result) → Matrix2
-
复制提供的 Matrix2 实例。
Name Type Description result
Matrix2 optional 存储结果的对象。 Returns:
修改后的结果参数或新的 Matrix2 实例(如果未提供)。 -
将此矩阵与提供的矩阵进行比较,如果它们相等则返回 true ,否则返回false 。
Name Type Description right
Matrix2 optional 右手矩阵。 Returns:
如果它们相等,则为 true ,否则为 false 。 -
将此矩阵与提供的矩阵按分量进行比较,如果它们在提供的 epsilon 内,则返回 true ,否则返回 false 。
Name Type Description right
Matrix2 optional 右手矩阵。 epsilon
Number 用于相等性测试的 epsilon。 Returns:
如果它们在提供的 epsilon 内,则为 true ,否则为 false 。 -
创建一个表示此矩阵的字符串,每行位于单独的行上,格式为'(column0,column1)'。
Returns:
表示提供的矩阵的字符串,每行位于单独的行上,格式为'(column0,column1)'。 -
staticSuperMap3D.Matrix2.abs(matrix, result) → Matrix2
-
计算一个矩阵,其中包含所提供矩阵元素的绝对(无符号)值。
Name Type Description matrix
Matrix2 带有符号元素的矩阵。 result
Matrix2 存储结果的对象。 Returns:
修改后的结果参数。 -
staticSuperMap3D.Matrix2.add(left, right, result) → Matrix2
-
计算两个矩阵的和。
Name Type Description left
Matrix2 第一个矩阵。 right
Matrix2 第二个矩阵。 result
Matrix2 存储结果的对象。 Returns:
修改后的结果参数。 -
staticSuperMap3D.Matrix2.clone(matrix, result) → Matrix2
-
复制 Matrix2 实例。
Name Type Description matrix
Matrix2 要复制的矩阵。 result
Matrix2 optional 存储结果的对象。 Returns:
修改后的结果参数或新的 Matrix2 实例(如果未提供)。 (如果矩阵未定义,则返回未定义) -
逐个比较提供的矩阵,如果相等则返回 true ,否则返回 false 。
Name Type Description left
Matrix2 optional 第一个矩阵 right
Matrix2 optional 第二个矩阵 Returns:
如果相等,则为 true ,否则为 false 。 -
逐个比较提供的矩阵,如果它们在提供的 epsilon 内,则返回 true ,否则返回 false 。
Name Type Description left
Matrix2 optional 第一个矩阵。 right
Matrix2 optional 第二个矩阵。 epsilon
Number 用于相等性测试的 epsilon。 Returns:
如果它们在提供的 epsilon 内,则为 true,否则为 false 。 -
staticSuperMap3D.Matrix2.fromArray(array, startingIndex, result) → Matrix2
-
从数组中的 4 个连续元素创建 Matrix2。
Name Type Default Description array
Array.<Number> 其 4 个连续元素对应于矩阵位置的数组。假定列优先顺序。 startingIndex
Number 0
optional 第一个元素在数组中的偏移量,对应于矩阵中第一列第一行的位置。 result
Matrix2 optional 存储结果的对象。 Returns:
修改后的结果参数或新的 Matrix2 实例(如果未提供)。Example:
// Create the Matrix2: // [1.0, 2.0] // [1.0, 2.0] var v = [1.0, 1.0, 2.0, 2.0]; var m = SuperMap3D.Matrix2.fromArray(v); // Create same Matrix2 with using an offset into an array var v2 = [0.0, 0.0, 1.0, 1.0, 2.0, 2.0]; var m2 = SuperMap3D.Matrix2.fromArray(v2, 2);
-
staticSuperMap3D.Matrix2.fromColumnMajorArray(values, result) → Matrix2
-
从列优先顺序数组创建一个 Matrix2 实例。
Name Type Description values
Array.<Number> 列主序数组。 result
Matrix2 optional 存储结果的对象,如果未定义,将创建一个新实例。 Returns:
修改后的结果参数,或者一个新的 Matrix2 实例(如果没有提供)。 -
staticSuperMap3D.Matrix2.fromRotation(angle, result) → Matrix2
-
创建一个旋转矩阵。
Name Type Description angle
Number 旋转的角度,以弧度为单位。正角是逆时针的。 result
Matrix2 optional 存储结果的对象,如果未定义,将创建一个新实例。 Returns:
修改后的结果参数,如果未提供,则为新的 Matrix2 实例。Example:
// Rotate a point 45 degrees counterclockwise. var p = new SuperMap3D.Cartesian2(5, 6); var m = SuperMap3D.Matrix2.fromRotation(SuperMap3D.Math.toRadians(45.0)); var rotated = SuperMap3D.Matrix2.multiplyByVector(m, p, new SuperMap3D.Cartesian2());
-
staticSuperMap3D.Matrix2.fromRowMajorArray(values, result) → Matrix2
-
从行主序数组创建 Matrix2 实例。生成的矩阵将按列优先顺序排列。
Name Type Description values
Array.<Number> 行主序数组。 result
Matrix2 optional 存储结果的对象,如果未定义,将创建一个新实例。 Returns:
修改后的结果参数,或者一个新的 Matrix2 实例(如果没有提供)。 -
staticSuperMap3D.Matrix2.fromScale(scale, result) → Matrix2
-
计算表示非均匀比例的 Matrix2 实例。
Name Type Description scale
Cartesian2 x 和 y 比例因子。 result
Matrix2 optional 存储结果的对象,如果未定义,将创建一个新实例。 Returns:
修改后的结果参数,如果未提供,则为新的 Matrix2 实例。Example:
// Creates // [7.0, 0.0] // [0.0, 8.0] var m = SuperMap3D.Matrix2.fromScale(new SuperMap3D.Cartesian2(7.0, 8.0));
-
staticSuperMap3D.Matrix2.fromUniformScale(scale, result) → Matrix2
-
计算一个表示统一比例的 Matrix2 实例。
Name Type Description scale
Number 统一比例因子。 result
Matrix2 optional 存储结果的对象,如果未定义,将创建一个新实例。 Returns:
修改后的结果参数,如果未提供,则为新的 Matrix2 实例。Example:
// Creates // [2.0, 0.0] // [0.0, 2.0] var m = SuperMap3D.Matrix2.fromUniformScale(2.0);
-
staticSuperMap3D.Matrix2.getColumn(matrix, index, result) → Cartesian2
-
以 Cartesian2 实例的形式读取所提供索引处矩阵列的副本。
Name Type Description matrix
Matrix2 使用的矩阵。 index
Number 要检索的列的零基索引。 result
Cartesian2 存储结果的对象。 Returns:
修改后的结果参数。Throws:
-
DeveloperError : 索引必须为 0 或 1。
-
-
计算提供的行和列的元素的数组索引。
Name Type Description row
Number 该行的零基索引。 column
Number 该列的零基索引。 Returns:
所提供行和列上元素的索引。Throws:
-
DeveloperError : 行必须为 0 或 1。
-
DeveloperError : 列必须为 0 或 1。
Example:
var myMatrix = new SuperMap3D.Matrix2(); var column1Row0Index = SuperMap3D.Matrix2.getElementIndex(1, 0); var column1Row0 = myMatrix[column1Row0Index] myMatrix[column1Row0Index] = 10.0;
-
-
假设矩阵是仿射变换,计算最大比例。最大比例是列向量的最大长度。
Name Type Description matrix
Matrix2 矩阵。 Returns:
最大比例。 -
staticSuperMap3D.Matrix2.getRow(matrix, index, result) → Cartesian2
-
以 Cartesian2 实例的形式读取所提供索引处矩阵行的副本。
Name Type Description matrix
Matrix2 使用的矩阵。 index
Number 要检索的记录的零基索引。 result
Cartesian2 存储结果的对象。 Returns:
修改后的结果参数。Throws:
-
DeveloperError : 索引必须为 0 或 1。
-
-
staticSuperMap3D.Matrix2.getScale(matrix, result) → Cartesian2
-
假设矩阵是仿射变换,提取非均匀比例。
Name Type Description matrix
Matrix2 矩阵。 result
Cartesian2 存储结果的对象。 Returns:
修改后的结果参数。 -
staticSuperMap3D.Matrix2.multiply(left, right, result) → Matrix2
-
计算两个矩阵的乘积。
Name Type Description left
Matrix2 第一个矩阵。 right
Matrix2 第二个矩阵。 result
Matrix2 存储结果的对象。 Returns:
修改后的结果参数。 -
staticSuperMap3D.Matrix2.multiplyByScalar(matrix, scalar, result) → Matrix2
-
计算矩阵和标量的乘积。
Name Type Description matrix
Matrix2 矩阵。 scalar
Number 要乘以的数值。 result
Matrix2 存储结果的对象。 Returns:
修改后的结果参数。 -
staticSuperMap3D.Matrix2.multiplyByScale(matrix, scale, result) → Matrix2
-
计算矩阵与(非统一)比例尺的乘积,就像比例尺是比例矩阵一样。
Name Type Description matrix
Matrix2 左手矩阵。 scale
Cartesian2 右手的非均匀比例。 result
Matrix2 存储结果的对象 Returns:
修改后的结果参数。- Matrix2.fromScale
- Matrix2.multiplyByUniformScale
Example:
// Instead of SuperMap3D.Matrix2.multiply(m, SuperMap3D.Matrix2.fromScale(scale), m); SuperMap3D.Matrix2.multiplyByScale(m, scale, m);
See:
-
staticSuperMap3D.Matrix2.multiplyByVector(matrix, cartesian, result) → Cartesian2
-
计算矩阵和列向量的乘积。
Name Type Description matrix
Matrix2 矩阵。 cartesian
Cartesian2 专栏。 result
Cartesian2 存储结果的对象。 Returns:
修改后的结果参数。 -
staticSuperMap3D.Matrix2.negate(matrix, result) → Matrix2
-
创建所提供矩阵的否定副本。
Name Type Description matrix
Matrix2 要否定的矩阵。 result
Matrix2 存储结果的对象 Returns:
修改后的结果参数。 -
将提供的实例存储到提供的数组中。
Name Type Default Description value
Matrix2 要打包的值。 array
Array.<Number> 要打包的数组。 startingIndex
Number 0
optional 开始打包元素的数组索引。 Returns:
被装入的数组。 -
staticSuperMap3D.Matrix2.setColumn(matrix, index, cartesian, result) → Matrix2
-
计算一个新矩阵,用所提供的 Cartesian2 实例替换所提供矩阵中的指定列。
Name Type Description matrix
Matrix2 使用的矩阵。 index
Number 要设置的列的零基索引。 cartesian
Cartesian2 cartesian其值将分配给指定列。 result
Cartesian2 存储结果的对象。 Returns:
修改后的结果参数。Throws:
-
DeveloperError : 索引必须为 0 或 1。
-
-
staticSuperMap3D.Matrix2.setRow(matrix, index, cartesian, result) → Matrix2
-
计算一个新矩阵,用所提供的 Cartesian2 实例替换所提供矩阵中的指定行。
Name Type Description matrix
Matrix2 使用的矩阵。 index
Number 要设置的行的零基索引。 cartesian
Cartesian2 Cartesian其值将分配给指定的行。 result
Matrix2 存储结果的对象。 Returns:
修改后的结果参数。Throws:
-
DeveloperError : 索引必须为 0 或 1。
-
-
staticSuperMap3D.Matrix2.subtract(left, right, result) → Matrix2
-
计算两个矩阵的差。
Name Type Description left
Matrix2 第一个矩阵。 right
Matrix2 第二个矩阵。 result
Matrix2 存储结果的对象。 Returns:
修改后的结果参数。 -
从提供的 Matrix2 实例创建一个 Array。该数组将按列优先顺序排列。
Name Type Description matrix
Matrix2 要使用的矩阵。 result
Array.<Number> optional 存储结果的数组。 Returns:
修改后的 Array 参数或新的 Array 实例(如果未提供)。 -
staticSuperMap3D.Matrix2.transpose(matrix, result) → Matrix2
-
计算所提供矩阵的转置。
Name Type Description matrix
Matrix2 要转置的矩阵。 result
Matrix2 存储结果的对象。 Returns:
修改后的结果参数。 -
staticSuperMap3D.Matrix2.unpack(array, startingIndex, result) → Matrix2
-
从打包数组中检索实例。
Name Type Default Description array
Array.<Number> 打包的数组。 startingIndex
Number 0
optional 要解包的元素的起始索引。 result
Matrix2 optional 存储结果的对象。 Returns:
修改后的结果参数或新的 Matrix2 实例(如果未提供)。