Matrix2

new SuperMap3D.Matrix2(column0Row0, column1Row0, column0Row1, column1Row1)

一个 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 行的值。
See:

Members

length : Number

获取集合中的项目数。

staticconstantSuperMap3D.Matrix2.COLUMN0ROW0 : Number

Matrix2 中第 0 列第 0 行的索引。
Example:
var matrix = new SuperMap3D.Matrix2();
matrix[SuperMap3D.Matrix2.COLUMN0ROW0] = 5.0; // set column 0, row 0 to 5.0

staticconstantSuperMap3D.Matrix2.COLUMN0ROW1 : Number

Matrix2 中第 0 列第 1 行的索引。
Example:
var matrix = new SuperMap3D.Matrix2();
matrix[SuperMap3D.Matrix2.COLUMN0ROW1] = 5.0; // set column 0, row 1 to 5.0

staticconstantSuperMap3D.Matrix2.COLUMN1ROW0 : Number

Matrix2 中第 1 列第 0 行的索引。
Example:
var matrix = new SuperMap3D.Matrix2();
matrix[SuperMap3D.Matrix2.COLUMN1ROW0] = 5.0; // set column 1, row 0 to 5.0

staticconstantSuperMap3D.Matrix2.COLUMN1ROW1 : Number

第 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 实例。

staticSuperMap3D.Matrix2.packedLength : Number

用于将对象打包到数组中的元素个数。

staticconstantSuperMap3D.Matrix2.ZERO : Matrix2

初始化为零矩阵的不可变 Matrix2 实例。

Methods

clone(result)Matrix2

复制提供的 Matrix2 实例。
Name Type Description
result Matrix2 optional 存储结果的对象。
Returns:
修改后的结果参数或新的 Matrix2 实例(如果未提供)。

equals(right)Boolean

将此矩阵与提供的矩阵进行比较,如果它们相等则返回 true ,否则返回false 。
Name Type Description
right Matrix2 optional 右手矩阵。
Returns:
如果它们相等,则为 true ,否则为 false 。

equalsEpsilon(right, epsilon)Boolean

将此矩阵与提供的矩阵按分量进行比较,如果它们在提供的 epsilon 内,则返回 true ,否则返回 false 。
Name Type Description
right Matrix2 optional 右手矩阵。
epsilon Number 用于相等性测试的 epsilon。
Returns:
如果它们在提供的 epsilon 内,则为 true ,否则为 false 。

toString()String

创建一个表示此矩阵的字符串,每行位于单独的行上,格式为'(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 实例(如果未提供)。 (如果矩阵未定义,则返回未定义)

staticSuperMap3D.Matrix2.equals(left, right)Boolean

逐个比较提供的矩阵,如果相等则返回 true ,否则返回 false 。
Name Type Description
left Matrix2 optional 第一个矩阵
right Matrix2 optional 第二个矩阵
Returns:
如果相等,则为 true ,否则为 false 。

staticSuperMap3D.Matrix2.equalsEpsilon(left, right, epsilon)Boolean

逐个比较提供的矩阵,如果它们在提供的 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:

staticSuperMap3D.Matrix2.getElementIndex(row, column)Number

计算提供的行和列的元素的数组索引。
Name Type Description
row Number 该行的零基索引。
column Number 该列的零基索引。
Returns:
所提供行和列上元素的索引。
Throws:
Example:
var myMatrix = new SuperMap3D.Matrix2();
var column1Row0Index = SuperMap3D.Matrix2.getElementIndex(1, 0);
var column1Row0 = myMatrix[column1Row0Index]
myMatrix[column1Row0Index] = 10.0;

staticSuperMap3D.Matrix2.getMaximumScale(matrix)Number

假设矩阵是仿射变换,计算最大比例。最大比例是列向量的最大长度。
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:

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:
修改后的结果参数。
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:
修改后的结果参数。

staticSuperMap3D.Matrix2.pack(value, array, startingIndex)Array.<Number>

将提供的实例存储到提供的数组中。
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:

staticSuperMap3D.Matrix2.setRow(matrix, index, cartesian, result)Matrix2

计算一个新矩阵,用所提供的 Cartesian2 实例替换所提供矩阵中的指定行。
Name Type Description
matrix Matrix2 使用的矩阵。
index Number 要设置的行的零基索引。
cartesian Cartesian2 Cartesian其值将分配给指定的行。
result Matrix2 存储结果的对象。
Returns:
修改后的结果参数。
Throws:

staticSuperMap3D.Matrix2.subtract(left, right, result)Matrix2

计算两个矩阵的差。
Name Type Description
left Matrix2 第一个矩阵。
right Matrix2 第二个矩阵。
result Matrix2 存储结果的对象。
Returns:
修改后的结果参数。

staticSuperMap3D.Matrix2.toArray(matrix, result)Array.<Number>

从提供的 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 实例(如果未提供)。