Matrix2

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

一个2x2矩阵,可作为列主序数组索引。构造函数参数按行顺序排列,以提高代码的可读性。
Name Type Default Description
column0Row0 Number 0.0 可选 列0,行0的值。
column1Row0 Number 0.0 可选 第1列第0行的值。
column0Row1 Number 0.0 可选 列0,第1行的值。
column1Row1 Number 0.0 可选 第1列第1行的值。
See:

Members

length : Number

获取集合中的项目数。

static constant LSGlobe.Matrix2.COLUMN0ROW0 : Number

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

static constant LSGlobe.Matrix2.COLUMN0ROW1 : Number

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

static constant LSGlobe.Matrix2.COLUMN1ROW0 : Number

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

static constant LSGlobe.Matrix2.COLUMN1ROW1 : Number

第1列第1行进入Matrix2的索引。
Example:
var matrix = new LSGlobe.Matrix2();
matrix[LSGlobe.Matrix2.COLUMN1ROW1] = 5.0; // set column 1, row 1 to 5.0

static constant LSGlobe.Matrix2.IDENTITY : Matrix2

一个不变的Matrix2实例,初始化为单位矩阵。

static LSGlobe.Matrix2.packedLength : Number

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

static constant LSGlobe.Matrix2.ZERO : Matrix2

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

Methods

复制提供的Matrix2实例。
Name Type Description
result Matrix2 可选 将结果存储到的对象。
Returns:
修改后的结果参数;如果未提供,则为新的Matrix2实例。

equals ( right ) Boolean

将此矩阵与提供的矩阵进行逐项比较,然后返回如果相等,则为 true ,否则为 false
Name Type Description
right Matrix2 可选 右侧矩阵。
Returns:
真正 如果相等, 除此以外。

equalsEpsilon ( right , epsilon ) Boolean

将此矩阵与提供的矩阵进行逐项比较,然后返回 true (如果它们在提供的epsilon内),否则为 false
Name Type Default Description
right Matrix2 可选 右侧矩阵。
epsilon Number 0 可选 用于相等性测试的epsilon。
Returns:
真正 如果它们在提供的epsilon中, 除此以外。

toString () String

创建一个表示此Matrix的字符串,每一行为在单独的行上,格式为((column0,column1)'。
Returns:
一个字符串,表示提供的Matrix,每行在单独的一行上,格式为((column0,column1)'。

static LSGlobe.Matrix2.abs (matrix, result) Matrix2

计算一个矩阵,其中包含提供的矩阵元素的绝对(无符号)值。
Name Type Description
matrix Matrix2 具有符号元素的矩阵。
result Matrix2 将结果存储到的对象。
Returns:
修改后的结果参数。

static LSGlobe.Matrix2.add (left, right, result) Matrix2

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

static LSGlobe.Matrix2.clone (matrix, result ) Matrix2

复制一个Matrix2实例。
Name Type Description
matrix Matrix2 要复制的矩阵。
result Matrix2 可选 将结果存储到的对象。
Returns:
修改后的结果参数;如果未提供,则为新的Matrix2实例。 (如果矩阵未定义,则返回未定义)

static LSGlobe.Matrix2.equals ( left , right ) Boolean

按组件比较提供的矩阵并返回如果相等,则为 true ,否则为 false
Name Type Description
left Matrix2 可选 第一个矩阵。
right Matrix2 可选 第二个矩阵。
Returns:
真正 如果左右相等 除此以外。

static LSGlobe.Matrix2.equalsEpsilon ( left , right , epsilon ) Boolean

按组件比较提供的矩阵并返回 true (如果它们在提供的epsilon内),否则为 false
Name Type Default Description
left Matrix2 可选 第一个矩阵。
right Matrix2 可选 第二个矩阵。
epsilon Number 0 可选 用于相等性测试的epsilon。
Returns:
真正 如果左右在提供的epsilon之内, 除此以外。

static LSGlobe.Matrix2.fromArray (array, startingIndex , result ) Matrix2

从数组中的4个连续元素创建Matrix2。
Name Type Default Description
array Array.<Number> 其4个连续元素对应于矩阵位置的数组。假定列为主要顺序。
startingIndex Number 0 可选 第一个元素的数组中的偏移量,它对应于矩阵中第一列第一行的位置。
result Matrix2 可选 将结果存储到的对象。
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 = LSGlobe.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 = LSGlobe.Matrix2.fromArray(v2, 2);

static LSGlobe.Matrix2.fromColumnMajorArray (values, result ) Matrix2

从列优先顺序数组创建Matrix2实例。
Name Type Description
values Array.<Number> 列为主要顺序的数组。
result Matrix2 可选 存储结果的对象,如果未定义,将创建一个新实例。
Returns:
修改后的结果参数,如果未提供,则为新的Matrix2实例。

static LSGlobe.Matrix2.fromRotation (angle, result ) Matrix2

创建旋转矩阵。
Name Type Description
angle Number 旋转角度,以弧度为单位。正角是逆时针方向。
result Matrix2 可选 存储结果的对象,如果未定义,将创建一个新实例。
Returns:
修改后的结果参数,如果未提供,则为新的Matrix2实例。
Example:
// Rotate a point 45 degrees counterclockwise.
var p = new LSGlobe.Cartesian2(5, 6);
var m = LSGlobe.Matrix2.fromRotation(LSGlobe.Math.toRadians(45.0));
var rotated = LSGlobe.Matrix2.multiplyByVector(m, p, new LSGlobe.Cartesian2());

static LSGlobe.Matrix2.fromRowMajorArray (values, result ) Matrix2

从行优先顺序数组创建Matrix2实例。所得矩阵将按列优先顺序排列。
Name Type Description
values Array.<Number> 行优先顺序数组。
result Matrix2 可选 存储结果的对象,如果未定义,将创建一个新实例。
Returns:
修改后的结果参数,如果未提供,则为新的Matrix2实例。

static LSGlobe.Matrix2.fromScale (scale, result ) Matrix2

计算表示不均匀比例的Matrix2实例。
Name Type Description
scale Cartesian2 x和y比例因子。
result Matrix2 可选 存储结果的对象,如果未定义,将创建一个新实例。
Returns:
修改后的结果参数,如果未提供,则为新的Matrix2实例。
Example:
// Creates
//   [7.0, 0.0]
//   [0.0, 8.0]
var m = LSGlobe.Matrix2.fromScale(new LSGlobe.Cartesian2(7.0, 8.0));

static LSGlobe.Matrix2.fromUniformScale (scale, result ) Matrix2

计算表示统一比例尺的Matrix2实例。
Name Type Description
scale Number 统一比例因子。
result Matrix2 可选 存储结果的对象,如果未定义,将创建一个新实例。
Returns:
修改后的结果参数,如果未提供,则为新的Matrix2实例。
Example:
// Creates
//   [2.0, 0.0]
//   [0.0, 2.0]
var m = LSGlobe.Matrix2.fromUniformScale(2.0);

static LSGlobe.Matrix2.getColumn (matrix, index, result) Cartesian2

在提供的索引处作为Cartesian2实例检索矩阵列的副本。
Name Type Description
matrix Matrix2 使用的矩阵。
index Number 要检索的列的从零开始的索引。
result Cartesian2 将结果存储到的对象。
Returns:
修改后的结果参数。
Throws:

static LSGlobe.Matrix2.getElementIndex (row, column) Number

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

static LSGlobe.Matrix2.getMaximumScale (matrix) Number

假设矩阵是仿射变换,则计算最大比例。最大比例是列向量的最大长度。
Name Type Description
matrix Matrix2 矩阵。
Returns:
最大规模。

static LSGlobe.Matrix2.getRow (matrix, index, result) Cartesian2

以Cartesian2实例的形式在提供的索引处检索矩阵行的副本。
Name Type Description
matrix Matrix2 使用的矩阵。
index Number 要检索的行的从零开始的索引。
result Cartesian2 将结果存储到的对象。
Returns:
修改后的结果参数。
Throws:

static LSGlobe.Matrix2.getScale (matrix, result) Cartesian2

假设矩阵是仿射变换,则提取非均匀比例。
Name Type Description
matrix Matrix2 矩阵。
result Cartesian2 将结果存储到的对象。
Returns:
修改后的结果参数。

static LSGlobe.Matrix2.multiply (left, right, result) Matrix2

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

static LSGlobe.Matrix2.multiplyByScalar (matrix, scalar, result) Matrix2

计算矩阵与标量的乘积。
Name Type Description
matrix Matrix2 矩阵。
scalar Number 要乘以的数字。
result Matrix2 将结果存储到的对象。
Returns:
修改后的结果参数。

static LSGlobe.Matrix2.multiplyByScale (matrix, scale, result) Matrix2

计算矩阵乘以(非均匀)标度的乘积,就好像该标度是一个标度矩阵一样。
Name Type Description
matrix Matrix2 左侧的矩阵。
scale Cartesian2 比例尺在右侧。
result Matrix2 将结果存储到的对象。
Returns:
修改后的结果参数。
Example:
// Instead of LSGlobe.Matrix2.multiply(m, LSGlobe.Matrix2.fromScale(scale), m);
LSGlobe.Matrix2.multiplyByScale(m, scale, m);
See:

static LSGlobe.Matrix2.multiplyByVector (matrix, cartesian, result) Cartesian2

计算矩阵与列向量的乘积。
Name Type Description
matrix Matrix2 矩阵。
cartesian Cartesian2 列。
result Cartesian2 将结果存储到的对象。
Returns:
修改后的结果参数。

static LSGlobe.Matrix2.negate (matrix, result) Matrix2

创建所提供矩阵的求反副本。
Name Type Description
matrix Matrix2 求反的矩阵。
result Matrix2 将结果存储到的对象。
Returns:
修改后的结果参数。

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

将提供的实例存储到提供的数组中。
Name Type Default Description
value Matrix2 要打包的值。
array Array.<Number> 要打包的数组。
startingIndex Number 0 可选 开始打包元素的数组索引。
Returns:
打包到的数组

static LSGlobe.Matrix2.setColumn (matrix, index, cartesian, result) Matrix2

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

static LSGlobe.Matrix2.setRow (matrix, index, cartesian, result) Matrix2

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

static LSGlobe.Matrix2.subtract (left, right, result) Matrix2

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

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

从提供的Matrix2实例创建一个数组。该数组将按列优先顺序排列。
Name Type Description
matrix Matrix2 要使用的矩阵。
result Array.<Number> 可选 将结果存储到的数组。
Returns:
修改后的Array参数或新的Array实例(如果未提供)。

static LSGlobe.Matrix2.transpose (matrix, result) Matrix2

计算提供的矩阵的转置。
Name Type Description
matrix Matrix2 要转置的矩阵。
result Matrix2 将结果存储到的对象。
Returns:
修改后的结果参数。

static LSGlobe.Matrix2.unpack (array, startingIndex , result ) Matrix2

从压缩数组中检索实例。
Name Type Default Description
array Array.<Number> 压缩数组。
startingIndex Number 0 可选 要解压缩的元素的起始索引。
result Matrix2 可选 将结果存储到的对象。
Returns:
修改后的结果参数;如果未提供,则为新的Matrix2实例。