Matrix3

new Cesium.Matrix3 ( column0Row0 , column1Row0 , column2Row0 , column0Row1 , column1Row1 , column2Row1 , column0Row2 , column1Row2 , column2Row2 )

一个 3x3 矩阵,可索引为列主要顺序数组。为了代码可读性,构造函数参数按行优先顺序排列。
Name Type Default Description
column0Row0 Number 0.0 可选 第 0 列第 0 行的值。
column1Row0 Number 0.0 可选 第 1 列第 0 行的值。
column2Row0 Number 0.0 可选 第 2 列第 0 行的值。
column0Row1 Number 0.0 可选 第 0 列第 1 行的值。
column1Row1 Number 0.0 可选 第 1 列第 1 行的值。
column2Row1 Number 0.0 可选 第 2 列第 1 行的值。
column0Row2 Number 0.0 可选 第 0 列第 2 行的值。
column1Row2 Number 0.0 可选 第 1 列第 2 行的值。
column2Row2 Number 0.0 可选 第 2 列第 2 行的值。
See:

Members

获取集合中的项目数。

static constant Cesium.Matrix3.COLUMN0ROW0 : Number

Matrix3 中第 0 列第 0 行的索引。

static constant Cesium.Matrix3.COLUMN0ROW1 : Number

Matrix3 中第 0 列第 1 行的索引。

static constant Cesium.Matrix3.COLUMN0ROW2 : Number

Matrix3 中第 0 列第 2 行的索引。

static constant Cesium.Matrix3.COLUMN1ROW0 : Number

Matrix3 中第 1 列第 0 行的索引。

static constant Cesium.Matrix3.COLUMN1ROW1 : Number

Matrix3 中第 1 列第 1 行的索引。

static constant Cesium.Matrix3.COLUMN1ROW2 : Number

Matrix3 中第 1 列第 2 行的索引。

static constant Cesium.Matrix3.COLUMN2ROW0 : Number

Matrix3 中第 2 列第 0 行的索引。

static constant Cesium.Matrix3.COLUMN2ROW1 : Number

第 2 列第 1 行的 Matrix3 索引。

static constant Cesium.Matrix3.COLUMN2ROW2 : Number

第 2 列第 2 行的 Matrix3 索引。

static constant Cesium.Matrix3.IDENTITY : Matrix3

初始化为单位矩阵的不可变 Matrix3 实例。

static Cesium.Matrix3.packedLength : Number

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

static constant Cesium.Matrix3.ZERO : Matrix3

一个不可变的 Matrix3 实例,初始化为零矩阵。

Methods

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

equals ( right ) Boolean

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

equalsEpsilon ( right , epsilon ) Boolean

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

toString () String

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

static Cesium.Matrix3.abs (matrix, result) Matrix3

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

static Cesium.Matrix3.add (left, right, result) Matrix3

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

static Cesium.Matrix3.clone (matrix, result ) Matrix3

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

static Cesium.Matrix3.computeEigenDecomposition (matrix, result ) Object

计算对称矩阵的特征向量和特征值。

返回一个对角矩阵和酉矩阵,这样: matrix = unitary matrix * diagonal matrix * transpose(unitary matrix)

沿对角矩阵的对角线的值是特征值。酉矩阵的列是对应的特征向量。

Name Type Description
matrix Matrix3 矩阵分解为对角矩阵和酉矩阵。预计是对称的。
result Object 可选 具有单一属性和对角属性的对象,这些属性是存储结果的矩阵。
Returns:
具有酉和对角属性的对象,它们分别是酉矩阵和对角矩阵。
Example:
const a = //... symetric matrix
const result = {
    unitary : new Cesium.Matrix3(),
    diagonal : new Cesium.Matrix3()
};
Cesium.Matrix3.computeEigenDecomposition(a, result);

const unitaryTranspose = Cesium.Matrix3.transpose(result.unitary, new Cesium.Matrix3());
const b = Cesium.Matrix3.multiply(result.unitary, result.diagonal, new Cesium.Matrix3());
Cesium.Matrix3.multiply(b, unitaryTranspose, b); // b is now equal to a

const lambda = Cesium.Matrix3.getColumn(result.diagonal, 0, new Cesium.Cartesian3()).x;  // first eigenvalue
const v = Cesium.Matrix3.getColumn(result.unitary, 0, new Cesium.Cartesian3());          // first eigenvector
const c = Cesium.Cartesian3.multiplyByScalar(v, lambda, new Cesium.Cartesian3());        // equal to Cesium.Matrix3.multiplyByVector(a, v)

static Cesium.Matrix3.determinant (matrix) Number

计算提供的矩阵的行列式。
Name Type Description
matrix Matrix3 要使用的矩阵。
Returns:
矩阵行列式的值。

static Cesium.Matrix3.equals ( left , right ) Boolean

逐个比较提供的矩阵,如果它们相等则返回 true ,否则返回 false
Name Type Description
left Matrix3 可选 第一个矩阵。
right Matrix3 可选 第二个矩阵。
Returns:
如果左右相等,则为 true ,否则为 false

static Cesium.Matrix3.equalsEpsilon ( left , right , epsilon ) Boolean

逐个比较提供的矩阵,如果它们在提供的 epsilon 内,则返回 true ,否则返回 false
Name Type Default Description
left Matrix3 可选 第一个矩阵。
right Matrix3 可选 第二个矩阵。
epsilon Number 0 可选 用于相等性测试的 epsilon。
Returns:
true left 和 right 在提供的 epsilon 内,则为 true,否则为 false

static Cesium.Matrix3.fromArray (array, startingIndex , result ) Matrix3

从数组中的 9 个连续元素创建一个 Matrix3。
Name Type Default Description
array Array.<Number> 其 9 个连续元素对应于矩阵的位置的数组。假定列优先顺序。
startingIndex Number 0 可选 第一个元素在数组中的偏移量,对应于矩阵中第一列第一行的位置。
result Matrix3 可选 存储结果的对象。
Returns:
修改后的结果参数或新的 Matrix3 实例(如果未提供)。
Example:
// Create the Matrix3:
// [1.0, 2.0, 3.0]
// [1.0, 2.0, 3.0]
// [1.0, 2.0, 3.0]

const v = [1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 3.0, 3.0, 3.0];
const m = Cesium.Matrix3.fromArray(v);

// Create same Matrix3 with using an offset into an array
const v2 = [0.0, 0.0, 1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 3.0, 3.0, 3.0];
const m2 = Cesium.Matrix3.fromArray(v2, 2);

static Cesium.Matrix3.fromColumnMajorArray (values, result ) Matrix3

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

static Cesium.Matrix3.fromCrossProduct (vector, result ) Matrix3

计算一个表示 Cartesian3 向量的叉积等效矩阵的 Matrix3 实例。
Name Type Description
vector Cartesian3 叉积运算左侧的向量。
result Matrix3 可选 将存储结果的对象,如果未定义,将创建一个新实例。
Returns:
修改后的结果参数,如果未提供,则为新的 Matrix3 实例。
Example:
// Creates
//   [0.0, -9.0,  8.0]
//   [9.0,  0.0, -7.0]
//   [-8.0, 7.0,  0.0]
const m = Cesium.Matrix3.fromCrossProduct(new Cesium.Cartesian3(7.0, 8.0, 9.0));

static Cesium.Matrix3.fromHeadingPitchRoll (headingPitchRoll, result ) Matrix3

从提供的 headingPitchRoll 计算 3x3 旋转矩阵。 (见 http://en.wikipedia.org/wiki/Conversion_between_quaternions_and_Euler_angles )
Name Type Description
headingPitchRoll HeadingPitchRoll 要使用的 headingPitchRoll。
result Matrix3 可选 将存储结果的对象,如果未定义,将创建一个新实例。
Returns:
此标题PitchRoll 的 3x3 旋转矩阵。

static Cesium.Matrix3.fromQuaternion (quaternion, result ) Matrix3

根据提供的四元数计算 3x3 旋转矩阵。
Name Type Description
quaternion Quaternion 要使用的四元数。
result Matrix3 可选 将存储结果的对象,如果未定义,将创建一个新实例。
Returns:
这个四元数的 3x3 旋转矩阵。

static Cesium.Matrix3.fromRotationX (angle, result ) Matrix3

创建一个围绕 x 轴的旋转矩阵。
Name Type Description
angle Number 旋转的角度,以弧度为单位。正角是逆时针的。
result Matrix3 可选 将存储结果的对象,如果未定义,将创建一个新实例。
Returns:
修改后的结果参数,如果未提供,则为新的 Matrix3 实例。
Example:
// Rotate a point 45 degrees counterclockwise around the x-axis.
const p = new Cesium.Cartesian3(5, 6, 7);
const m = Cesium.Matrix3.fromRotationX(Cesium.Math.toRadians(45.0));
const rotated = Cesium.Matrix3.multiplyByVector(m, p, new Cesium.Cartesian3());

static Cesium.Matrix3.fromRotationY (angle, result ) Matrix3

创建一个围绕 y 轴的旋转矩阵。
Name Type Description
angle Number 旋转的角度,以弧度为单位。正角是逆时针的。
result Matrix3 可选 将存储结果的对象,如果未定义,将创建一个新实例。
Returns:
修改后的结果参数,如果未提供,则为新的 Matrix3 实例。
Example:
// Rotate a point 45 degrees counterclockwise around the y-axis.
const p = new Cesium.Cartesian3(5, 6, 7);
const m = Cesium.Matrix3.fromRotationY(Cesium.Math.toRadians(45.0));
const rotated = Cesium.Matrix3.multiplyByVector(m, p, new Cesium.Cartesian3());

static Cesium.Matrix3.fromRotationZ (angle, result ) Matrix3

围绕 z 轴创建一个旋转矩阵。
Name Type Description
angle Number 旋转的角度,以弧度为单位。正角是逆时针的。
result Matrix3 可选 将存储结果的对象,如果未定义,将创建一个新实例。
Returns:
修改后的结果参数,如果未提供,则为新的 Matrix3 实例。
Example:
// Rotate a point 45 degrees counterclockwise around the z-axis.
const p = new Cesium.Cartesian3(5, 6, 7);
const m = Cesium.Matrix3.fromRotationZ(Cesium.Math.toRadians(45.0));
const rotated = Cesium.Matrix3.multiplyByVector(m, p, new Cesium.Cartesian3());

static Cesium.Matrix3.fromRowMajorArray (values, result ) Matrix3

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

static Cesium.Matrix3.fromScale (scale, result ) Matrix3

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

static Cesium.Matrix3.fromUniformScale (scale, result ) Matrix3

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

static Cesium.Matrix3.getColumn (matrix, index, result) Cartesian3

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

static Cesium.Matrix3.getElementIndex (column, row) Number

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

static Cesium.Matrix3.getMaximumScale (matrix) Number

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

static Cesium.Matrix3.getRotation (matrix, result) Matrix3

假设矩阵是仿射变换,提取旋转矩阵。
Name Type Description
matrix Matrix3 矩阵。
result Matrix3 存储结果的对象。
Returns:
修改后的结果参数。
See:

static Cesium.Matrix3.getRow (matrix, index, result) Cartesian3

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

static Cesium.Matrix3.getScale (matrix, result) Cartesian3

假设矩阵是仿射变换,提取非均匀尺度。
Name Type Description
matrix Matrix3 矩阵。
result Cartesian3 存储结果的对象。
Returns:
修改后的结果参数。
See:

static Cesium.Matrix3.inverse (matrix, result) Matrix3

计算提供的矩阵的逆矩阵。
Name Type Description
matrix Matrix3 要反转的矩阵。
result Matrix3 存储结果的对象。
Returns:
修改后的结果参数。
Throws:

static Cesium.Matrix3.inverseTranspose (matrix, result) Matrix3

计算矩阵的逆转置。
Name Type Description
matrix Matrix3 要转置和反转的矩阵。
result Matrix3 存储结果的对象。
Returns:
修改后的结果参数。

static Cesium.Matrix3.multiply (left, right, result) Matrix3

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

static Cesium.Matrix3.multiplyByScalar (matrix, scalar, result) Matrix3

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

static Cesium.Matrix3.multiplyByScale (matrix, scale, result) Matrix3

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

static Cesium.Matrix3.multiplyByUniformScale (matrix, scale, result) Matrix3

计算矩阵乘以统一比例的乘积,就像比例是比例矩阵一样。
Name Type Description
matrix Matrix3 左边的矩阵。
scale Number 右侧的统一刻度。
result Matrix3 存储结果的对象。
Returns:
修改后的结果参数。
Example:
// Instead of Cesium.Matrix3.multiply(m, Cesium.Matrix3.fromUniformScale(scale), m);
Cesium.Matrix3.multiplyByUniformScale(m, scale, m);
See:

static Cesium.Matrix3.multiplyByVector (matrix, cartesian, result) Cartesian3

计算矩阵和列向量的乘积。
Name Type Description
matrix Matrix3 矩阵。
cartesian Cartesian3 专栏。
result Cartesian3 存储结果的对象。
Returns:
修改后的结果参数。

static Cesium.Matrix3.negate (matrix, result) Matrix3

创建所提供矩阵的否定副本。
Name Type Description
matrix Matrix3 要否定的矩阵。
result Matrix3 存储结果的对象。
Returns:
修改后的结果参数。

static Cesium.Matrix3.pack (value, array, startingIndex ) Array.<Number>

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

static Cesium.Matrix3.packArray (array, result ) Array.<Number>

将 Matrix3 数组展平为组件数组。组件以列优先顺序存储。
Name Type Description
array Array.< Matrix3 > 要打包的矩阵数组。
result Array.<Number> 可选 存储结果的数组。如果这是一个类型化数组,它必须有 array.length * 9 个组件,否则会抛出 DeveloperError 。如果它是一个常规数组,它将被调整大小以具有 (array.length * 9) 个元素。
Returns:
打包的数组。

static Cesium.Matrix3.setColumn (matrix, index, cartesian, result) Matrix3

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

static Cesium.Matrix3.setRotation (matrix, rotation) Matrix3

假设矩阵是仿射变换,则设置旋转。
Name Type Description
matrix Matrix3 矩阵。
rotation Matrix3 旋转矩阵。
Returns:
修改后的结果参数。
See:

static Cesium.Matrix3.setRow (matrix, index, cartesian, result) Matrix3

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

static Cesium.Matrix3.setScale (matrix, scale, result) Matrix3

计算一个用提供的比例替换比例的新矩阵。这假设矩阵是仿射变换。
Name Type Description
matrix Matrix3 要使用的矩阵。
scale Cartesian3 替换所提供矩阵的比例的比例。
result Matrix3 存储结果的对象。
Returns:
修改后的结果参数。
See:

static Cesium.Matrix3.setUniformScale (matrix, scale, result) Matrix3

计算一个用提供的统一比例替换比例的新矩阵。这假设矩阵是仿射变换。
Name Type Description
matrix Matrix3 要使用的矩阵。
scale Number 替换所提供矩阵的比例的统一比例。
result Matrix3 存储结果的对象。
Returns:
修改后的结果参数。
See:

static Cesium.Matrix3.subtract (left, right, result) Matrix3

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

static Cesium.Matrix3.toArray (matrix, result ) Array.<Number>

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

static Cesium.Matrix3.transpose (matrix, result) Matrix3

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

static Cesium.Matrix3.unpack (array, startingIndex , result ) Matrix3

从打包数组中检索实例。
Name Type Default Description
array Array.<Number> 打包的数组。
startingIndex Number 0 可选 要解包的元素的起始索引。
result Matrix3 可选 存储结果的对象。
Returns:
修改后的结果参数或新的 Matrix3 实例(如果未提供)。

static Cesium.Matrix3.unpackArray (array, result ) Array.< Matrix3 >

将列主要矩阵组件的数组解压缩到 Matrix3 数组中。
Name Type Description
array Array.<Number> 要解包的组件数组。
result Array.< Matrix3 > 可选 存储结果的数组。
Returns:
解压后的数组。