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:
const matrix = new Cesium.Matrix2();
matrix[Cesium.Matrix2.COLUMN0ROW0] = 5.0; // 将列 0,行 0 设置为 5.0
Matrix2 中列 0,行 1 的索引。
Example:
const matrix = new Cesium.Matrix2();
matrix[Cesium.Matrix2.COLUMN0ROW1] = 5.0; // set column 0, row 1 to 5.0
Matrix2 中列 1,行 0 的索引。
Example:
const matrix = new Cesium.Matrix2();
matrix[Cesium.Matrix2.COLUMN1ROW0] = 5.0; // set column 1, row 0 to 5.0
Matrix2 中列 1,行 1 的索引。
Example:
const matrix = new Cesium.Matrix2();
matrix[Cesium.Matrix2.COLUMN1ROW1] = 5.0; // set column 1, row 1 to 5.0
static constant Cesium.Matrix2.IDENTITY : Matrix2
一个初始化为单位矩阵的不可变 Matrix2 实例。
用于将对象打包到数组中的元素数量。
static constant Cesium.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 | Default | Description |
|---|---|---|---|
right |
Matrix2 | optional 右侧矩阵。 | |
epsilon |
number |
0
|
optional 用于相等测试的 epsilon。 |
Returns:
如果它们在提供的 epsilon 范围内,则返回
true,否则返回 false。
创建一个字符串表示该矩阵,每行表示
单独一行,格式为 '(column0, column1)'。
Returns:
一个字符串,表示提供的矩阵,每行表示
在单独一行中,格式为 '(column0, column1)'。
static Cesium.Matrix2.abs(matrix, result) → Matrix2
计算一个矩阵,该矩阵包含提供矩阵元素的绝对(无符号)值。
| Name | Type | Description |
|---|---|---|
matrix |
Matrix2 | 带符号元素的矩阵。 |
result |
Matrix2 | 存储结果的对象。 |
Returns:
修改后的结果参数。
static Cesium.Matrix2.add(left, right, result) → Matrix2
计算两个矩阵的和。
| Name | Type | Description |
|---|---|---|
left |
Matrix2 | 第一个矩阵。 |
right |
Matrix2 | 第二个矩阵。 |
result |
Matrix2 | 存储结果的对象。 |
Returns:
修改后的结果参数。
static Cesium.Matrix2.clone(matrix, result) → Matrix2
复制一个 Matrix2 实例。
| Name | Type | Description |
|---|---|---|
matrix |
Matrix2 | 要复制的矩阵。 |
result |
Matrix2 | optional 存储结果的对象。 |
Returns:
修改后的结果参数,如果未提供,则返回一个新的 Matrix2 实例。(如果矩阵未定义则返回 undefined)
逐个比较提供的矩阵,并返回
如果相等则为
true,否则为 false。
| Name | Type | Description |
|---|---|---|
left |
Matrix2 | optional 第一个矩阵。 |
right |
Matrix2 | optional 第二个矩阵。 |
Returns:
如果两个矩阵相等,则返回
true,否则返回 false。
逐个比较提供的矩阵,并返回
如果它们在提供的 epsilon 范围内,则为
true,
否则为 false。
| Name | Type | Default | Description |
|---|---|---|---|
left |
Matrix2 | optional 第一个矩阵。 | |
right |
Matrix2 | optional 第二个矩阵。 | |
epsilon |
number |
0
|
optional 用于相等测试的 epsilon。 |
Returns:
如果左侧和右侧在提供的 epsilon 范围内,则返回
true,否则返回 false。
static Cesium.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]
const v = [1.0, 1.0, 2.0, 2.0];
const m = Cesium.Matrix2.fromArray(v);
// Create same Matrix2 with using an offset into an array
const v2 = [0.0, 0.0, 1.0, 1.0, 2.0, 2.0];
const m2 = Cesium.Matrix2.fromArray(v2, 2);
static Cesium.Matrix2.fromColumnMajorArray(values, result) → Matrix2
从列主序数组创建一个 Matrix2 实例。
| Name | Type | Description |
|---|---|---|
values |
Array.<number> | 列主序数组。 |
result |
Matrix2 | optional 存储结果的对象,如果未定义,则会创建一个新实例。 |
Returns:
修改后的结果参数,或者如果未提供,则返回一个新的 Matrix2 实例。
static Cesium.Matrix2.fromRotation(angle, result) → Matrix2
创建一个旋转矩阵。
| Name | Type | Description |
|---|---|---|
angle |
number | 旋转的角度(以弧度为单位)。正角度为逆时针方向。 |
result |
Matrix2 | optional 存储结果的对象,如果未定义,则会创建一个新实例。 |
Returns:
修改后的结果参数,或者如果未提供,则返回一个新的 Matrix2 实例。
Example:
// Rotate a point 45 degrees counterclockwise.
const p = new Cesium.Cartesian2(5, 6);
const m = Cesium.Matrix2.fromRotation(Cesium.Math.toRadians(45.0));
const rotated = Cesium.Matrix2.multiplyByVector(m, p, new Cesium.Cartesian2());
static Cesium.Matrix2.fromRowMajorArray(values, result) → Matrix2
从行主序数组创建一个 Matrix2 实例。
生成的矩阵将是列主序。
| Name | Type | Description |
|---|---|---|
values |
Array.<number> | 行主序数组。 |
result |
Matrix2 | optional 存储结果的对象,如果未定义,则会创建一个新实例。 |
Returns:
修改后的结果参数,或者如果未提供,则返回一个新的 Matrix2 实例。
static Cesium.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]
const m = Cesium.Matrix2.fromScale(new Cesium.Cartesian2(7.0, 8.0));
static Cesium.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]
const m = Cesium.Matrix2.fromUniformScale(2.0);
static Cesium.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:
const myMatrix = new Cesium.Matrix2();
const column1Row0Index = Cesium.Matrix2.getElementIndex(1, 0);
const column1Row0 = myMatrix[column1Row0Index]
myMatrix[column1Row0Index] = 10.0;
计算最大缩放,假定该矩阵是一个仿射变换。
最大缩放是列向量的最大长度。
| Name | Type | Description |
|---|---|---|
matrix |
Matrix2 | 矩阵。 |
Returns:
最大缩放。
static Cesium.Matrix2.getRotation(matrix, result) → Matrix2
提取旋转矩阵,假定该矩阵是一个仿射变换。
| Name | Type | Description |
|---|---|---|
matrix |
Matrix2 | 矩阵。 |
result |
Matrix2 | 存储结果的对象。 |
Returns:
修改后的结果参数。
static Cesium.Matrix2.getRow(matrix, index, result) → Cartesian2
以 Cartesian2 实例的形式检索给定索引的矩阵行的副本。
| Name | Type | Description |
|---|---|---|
matrix |
Matrix2 | 要使用的矩阵。 |
index |
number | 要检索的行的零基索引。 |
result |
Cartesian2 | 存储结果的对象。 |
Returns:
修改后的结果参数。
Throws:
-
DeveloperError : 索引必须为 0 或 1。
static Cesium.Matrix2.getScale(matrix, result) → Cartesian2
提取非均匀缩放,假定该矩阵是一个仿射变换。
| Name | Type | Description |
|---|---|---|
matrix |
Matrix2 | 矩阵。 |
result |
Cartesian2 | 存储结果的对象。 |
Returns:
修改后的结果参数。
See:
static Cesium.Matrix2.multiply(left, right, result) → Matrix2
计算两个矩阵的乘积。
| Name | Type | Description |
|---|---|---|
left |
Matrix2 | 第一个矩阵。 |
right |
Matrix2 | 第二个矩阵。 |
result |
Matrix2 | 存储结果的对象。 |
Returns:
修改后的结果参数。
static Cesium.Matrix2.multiplyByScalar(matrix, scalar, result) → Matrix2
计算矩阵与标量的乘积。
| Name | Type | Description |
|---|---|---|
matrix |
Matrix2 | 矩阵。 |
scalar |
number | 要乘以的数字。 |
result |
Matrix2 | 存储结果的对象。 |
Returns:
修改后的结果参数。
static Cesium.Matrix2.multiplyByScale(matrix, scale, result) → Matrix2
计算矩阵与(非均匀)缩放的乘积,仿佛缩放是一个缩放矩阵。
| Name | Type | Description |
|---|---|---|
matrix |
Matrix2 | 左侧的矩阵。 |
scale |
Cartesian2 | 右侧的非均匀缩放。 |
result |
Matrix2 | 存储结果的对象。 |
Returns:
修改后的结果参数。
Example:
// Instead of Cesium.Matrix2.multiply(m, Cesium.Matrix2.fromScale(scale), m);
Cesium.Matrix2.multiplyByScale(m, scale, m);
See:
static Cesium.Matrix2.multiplyByUniformScale(matrix, scale, result) → Matrix2
计算矩阵与均匀缩放的乘积,仿佛缩放是一个缩放矩阵。
| Name | Type | Description |
|---|---|---|
matrix |
Matrix2 | 左侧的矩阵。 |
scale |
number | 右侧的均匀缩放。 |
result |
Matrix2 | 存储结果的对象。 |
Returns:
修改后的结果参数。
Example:
// Instead of Cesium.Matrix2.multiply(m, Cesium.Matrix2.fromUniformScale(scale), m);
Cesium.Matrix2.multiplyByUniformScale(m, scale, m);
See:
static Cesium.Matrix2.multiplyByVector(matrix, cartesian, result) → Cartesian2
计算矩阵与列向量的乘积。
| Name | Type | Description |
|---|---|---|
matrix |
Matrix2 | 矩阵。 |
cartesian |
Cartesian2 | 列向量。 |
result |
Cartesian2 | 存储结果的对象。 |
Returns:
修改后的结果参数。
static Cesium.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:
被打包成的数组
将一个 Matrix2 数组扁平化为一个组件数组。组件
以列主序存储。
| Name | Type | Description |
|---|---|---|
array |
Array.<Matrix2> | 要打包的矩阵数组。 |
result |
Array.<number> |
optional
存储结果的数组。如果这是一个类型化数组,它必须具有 array.length * 4 个组件,否则将抛出 DeveloperError。如果这是一个常规数组,则将调整大小以包含 (array.length * 4) 个元素。 |
Returns:
压缩数组。
static Cesium.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。
static Cesium.Matrix2.setRotation(matrix, rotation, result) → Matrix2
设置旋转,假定该矩阵是一个仿射变换。
| Name | Type | Description |
|---|---|---|
matrix |
Matrix2 | 矩阵。 |
rotation |
Matrix2 | 旋转矩阵。 |
result |
Matrix2 | 存储结果的对象。 |
Returns:
修改后的结果参数。
static Cesium.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。
static Cesium.Matrix2.setScale(matrix, scale, result) → Matrix2
计算一个新矩阵,用提供的缩放值替换矩阵中的缩放。
这假定矩阵是一个仿射变换。
| Name | Type | Description |
|---|---|---|
matrix |
Matrix2 | 要使用的矩阵。 |
scale |
Cartesian2 | 用于替换提供矩阵缩放的缩放值。 |
result |
Matrix2 | 存储结果的对象。 |
Returns:
修改后的结果参数。
See:
static Cesium.Matrix2.setUniformScale(matrix, scale, result) → Matrix2
计算一个新矩阵,用提供的均匀缩放值替换矩阵中的缩放。
这假定矩阵是一个仿射变换。
| Name | Type | Description |
|---|---|---|
matrix |
Matrix2 | 要使用的矩阵。 |
scale |
number | 用于替换提供矩阵缩放的均匀缩放值。 |
result |
Matrix2 | 存储结果的对象。 |
Returns:
修改后的结果参数。
See:
static Cesium.Matrix2.subtract(left, right, result) → Matrix2
计算两个矩阵的差。
| Name | Type | Description |
|---|---|---|
left |
Matrix2 | 第一个矩阵。 |
right |
Matrix2 | 第二个矩阵。 |
result |
Matrix2 | 存储结果的对象。 |
Returns:
修改后的结果参数。
从提供的 Matrix2 实例创建一个数组。
数组将采用列主序。
| Name | Type | Description |
|---|---|---|
matrix |
Matrix2 | 要使用的矩阵。 |
result |
Array.<number> | optional 存储结果的数组。 |
Returns:
修改后的数组参数,如果未提供,则返回一个新的数组实例。
static Cesium.Matrix2.transpose(matrix, result) → Matrix2
Computes the transpose of the provided matrix.
| Name | Type | Description |
|---|---|---|
matrix |
Matrix2 | The matrix to transpose. |
result |
Matrix2 | 存储结果的对象. |
Returns:
修改的结果参数
static Cesium.Matrix2.unpack(array, startingIndex, result) → Matrix2
从打包数组中检索实例。
| Name | Type | Default | Description |
|---|---|---|---|
array |
Array.<number> | 压缩数组。 | |
startingIndex |
number |
0
|
optional 需要解包的元素的起始索引。 |
result |
Matrix2 | optional 存储结果的对象。 |
Returns:
修改后的结果参数,如果未提供,则返回一个新的 Matrix2 实例。
static Cesium.Matrix2.unpackArray(array, result) → Array.<Matrix2>
将列主序矩阵组件数组解包为 Matrix2 数组。
| Name | Type | Description |
|---|---|---|
array |
Array.<number> | 要解包的组件数组。 |
result |
Array.<Matrix2> | optional 存储结果的数组。 |
Returns:
解包后的数组。
