一个 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 行的值。 |
Members
获取集合中的项目数。
Matrix2 中第 0 列第 0 行的索引。
Example:
const matrix = new Cesium.Matrix2();
matrix[Cesium.Matrix2.COLUMN0ROW0] = 5.0; // set column 0, row 0 to 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
第 1 列第 1 行的 Matrix2 索引。
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 | 可选 存储结果的对象。 |
Returns:
修改后的结果参数或新的 Matrix2 实例(如果未提供)。
将此矩阵与提供的矩阵进行比较,如果它们相等则返回
true
,否则返回
false
。
Name | Type | Description |
---|---|---|
right
|
Matrix2 | 可选 右手边的矩阵。 |
Returns:
如果它们相等,则为
true
,否则为
false
。
将此矩阵与提供的矩阵按分量进行比较,如果它们在提供的 epsilon 内,则返回
true
,否则返回
false
。
Name | Type | Default | Description |
---|---|---|---|
right
|
Matrix2 | 可选 右手边的矩阵。 | |
epsilon
|
Number |
0
|
可选 用于相等性测试的 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 | 可选 存储结果的对象。 |
Returns:
修改后的结果参数或新的 Matrix2 实例(如果未提供)。 (如果矩阵未定义,则返回未定义)
逐个比较提供的矩阵,如果相等则返回
true
,否则返回
false
。
Name | Type | Description |
---|---|---|
left
|
Matrix2 | 可选 第一个矩阵。 |
right
|
Matrix2 | 可选 第二个矩阵。 |
Returns:
如果左右相等,则为
true
,否则为
false
。
逐个比较提供的矩阵,如果它们在提供的 epsilon 内,则返回
true
,否则返回
false
。
Name | Type | Default | Description |
---|---|---|---|
left
|
Matrix2 | 可选 第一个矩阵。 | |
right
|
Matrix2 | 可选 第二个矩阵。 | |
epsilon
|
Number |
0
|
可选 用于相等性测试的 epsilon。 |
Returns:
true
left 和 right 在提供的 epsilon 内,则为 true,否则为
false
。
static Cesium.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]
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 | 可选 将存储结果的对象,如果未定义,将创建一个新实例。 |
Returns:
修改后的结果参数,如果未提供,则为新的 Matrix2 实例。
static Cesium.Matrix2.fromRotation (angle, result ) → Matrix2
创建一个旋转矩阵。
Name | Type | Description |
---|---|---|
angle
|
Number | 旋转的角度,以弧度为单位。正角是逆时针的。 |
result
|
Matrix2 | 可选 将存储结果的对象,如果未定义,将创建一个新实例。 |
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 | 可选 将存储结果的对象,如果未定义,将创建一个新实例。 |
Returns:
修改后的结果参数,如果未提供,则为新的 Matrix2 实例。
static Cesium.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]
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 | 可选 将存储结果的对象,如果未定义,将创建一个新实例。 |
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
|
Number | 右侧的非均匀比例。 |
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
|
可选 开始打包元素的数组索引。 |
Returns:
装入的数组
将 Matrix2 数组展平为组件数组。组件以列优先顺序存储。
Name | Type | Description |
---|---|---|
array
|
Array.< Matrix2 > | 要打包的矩阵数组。 |
result
|
Array.<Number> |
可选
存储结果的数组。如果这是一个类型化数组,它必须有 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 | 其值将分配给指定列的笛卡尔坐标。 |
result
|
Cartesian2 | 存储结果的对象。 |
Returns:
修改后的结果参数。
Throws:
-
DeveloperError :索引必须为 0 或 1。
static Cesium.Matrix2.setRotation (matrix, rotation) → Matrix2
假设矩阵是仿射变换,则设置旋转。
Name | Type | Description |
---|---|---|
matrix
|
Matrix2 | 矩阵。 |
rotation
|
Matrix2 | 旋转矩阵。 |
Returns:
修改后的结果参数。
static Cesium.Matrix2.setRow (matrix, index, cartesian, result) → Matrix2
计算一个新矩阵,用提供的 Cartesian2 实例替换提供的矩阵中的指定行。
Name | Type | Description |
---|---|---|
matrix
|
Matrix2 | 要使用的矩阵。 |
index
|
Number | 要设置的行的从零开始的索引。 |
cartesian
|
Cartesian2 | 其值将分配给指定行的笛卡尔坐标。 |
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 实例创建一个 Array。该数组将按列优先顺序排列。
Name | Type | Description |
---|---|---|
matrix
|
Matrix2 | 要使用的矩阵.. |
result
|
Array.<Number> | 可选 存储结果的数组。 |
Returns:
修改后的 Array 参数或新的 Array 实例(如果未提供)。
static Cesium.Matrix2.transpose (matrix, result) → Matrix2
计算提供的矩阵的转置。
Name | Type | Description |
---|---|---|
matrix
|
Matrix2 | 要转置的矩阵。 |
result
|
Matrix2 | 存储结果的对象。 |
Returns:
修改后的结果参数。
static Cesium.Matrix2.unpack (array, startingIndex , result ) → Matrix2
从打包数组中检索实例。
Name | Type | Default | Description |
---|---|---|---|
array
|
Array.<Number> | 打包的数组。 | |
startingIndex
|
Number |
0
|
可选 要解包的元素的起始索引。 |
result
|
Matrix2 | 可选 存储结果的对象。 |
Returns:
修改后的结果参数或新的 Matrix2 实例(如果未提供)。
static Cesium.Matrix2.unpackArray (array, result ) → Array.< Matrix2 >
将列主矩阵组件的数组解包到 Matrix2 数组中。
Name | Type | Description |
---|---|---|
array
|
Array.<Number> | 要解包的组件数组。 |
result
|
Array.< Matrix2 > | 可选 存储结果的数组。 |
Returns:
解压后的数组。