BIGEMAP卫星地图_高清卫星地图_北斗高清地图_地图软件_矢量地图数据_专题地图

Matrix4

4x4矩陣,可作為列主順序數組進行索引。對于代碼可讀性,構造函數參數按行主順序排列。
new Matrix4(column0Row0, column1Row0, column2Row0, column3Row0, column0Row1, column1Row1, column2Row1, column3Row1, column0Row2, column1Row2, column2Row2, column3Row2, column0Row3, column1Row3, column2Row3, column3Row3)
Parameters:
column0Row0 (Number) (default 0.0) 第0列第0行的值。
column1Row0 (Number) (default 0.0) 第1列第0行的值。
column2Row0 (Number) (default 0.0) 第2列第0行的值。
column3Row0 (Number) (default 0.0) 第3列第0行的值。
column0Row1 (Number) (default 0.0) 第0列第1行的值。
column1Row1 (Number) (default 0.0) 第1列第1行的值。
column2Row1 (Number) (default 0.0) 第2列第1行的值。
column3Row1 (Number) (default 0.0) 第3列第1行的值。
column0Row2 (Number) (default 0.0) 第0列第2行的值。
column1Row2 (Number) (default 0.0) 第1列第2行的值。
column2Row2 (Number) (default 0.0) 第2列第2行的值。
column3Row2 (Number) (default 0.0) 第3列第2行的值。
column0Row3 (Number) (default 0.0) 第0列第3行的值。
column1Row3 (Number) (default 0.0) 第1列第3行的值。
column2Row3 (Number) (default 0.0) 第2列第3行的值。
column3Row3 (Number) (default 0.0) 第3列第3行的值。
See:

Members

length : Number

獲取集合中的項數。

(static, constant) COLUMN0ROW0 : Number

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

(static, constant) COLUMN0ROW1 : Number

第0列第1行的matrix4索引。

(static, constant) COLUMN0ROW2 : Number

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

(static, constant) COLUMN0ROW3 : Number

Matrix4中第0列第3行的索引。

(static, constant) COLUMN1ROW0 : Number

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

(static, constant) COLUMN1ROW1 : Number

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

(static, constant) COLUMN1ROW2 : Number

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

(static, constant) COLUMN1ROW3 : Number

Matrix4中第1列第3行的索引。

(static, constant) COLUMN2ROW0 : Number

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

(static, constant) COLUMN2ROW1 : Number

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

(static, constant) COLUMN2ROW2 : Number

Matrix4中第2列第2行的索引。

(static, constant) COLUMN2ROW3 : Number

Matrix4中第2列第3行的索引。

(static, constant) COLUMN3ROW0 : Number

Matrix4中第3列第0行的索引。

(static, constant) COLUMN3ROW1 : Number

Matrix4中第3列第1行的索引。

(static, constant) COLUMN3ROW2 : Number

Matrix4中第3列第2行的索引。

(static, constant) COLUMN3ROW3 : Number

Matrix4中第3列第3行的索引。

(static, constant) IDENTITY : Matrix4

初始化為標識矩陣的不可變矩陣4實例。

(static) packedLength : Number

用于將對象打包到數組中的元素數。

(static, constant) ZERO : Matrix4

初始化為零矩陣的不可變矩陣4實例。

Methods

clone(result) → {Matrix4}
復制提供的matrix4實例。
Parameters:
result (Matrix4) 存儲結果的對象。
equals(right) → {Boolean}
將此矩陣與提供的矩陣組件進行比較,如果相等,則返回true,否則返回false。
Parameters:
right (Matrix4) 右側矩陣。
equalsEpsilon(right, epsilon) → {Boolean}
將此矩陣與提供的矩陣組件進行比較,如果它們在提供的epsilon中,則返回true,否則返回false。
Parameters:
right (Matrix4) 右側矩陣。
epsilon (Number) 用于相等性測試的epsilon。
toString() → {String}
計算表示此矩陣的字符串,每一行都位于單獨的行上,格式為“(第0列、第1列、第2列、第3列)”。
(static) abs(matrix, result) → {Matrix4}
計算包含所提供矩陣元素的絕對(無符號)值的矩陣。
Parameters:
matrix (Matrix4) 帶符號元素的矩陣。
result (Matrix4) 存儲結果的對象。
(static) add(left, right, result) → {Matrix4}
計算兩個矩陣的和。
Parameters:
left (Matrix4) 第一個矩陣。
right (Matrix4) 第二個矩陣。
result (Matrix4) 存儲結果的對象。
(static) clone(matrix, result) → {Matrix4}
復制Matrix4實例。
Parameters:
matrix (Matrix4) 要復制的矩陣。
result (Matrix4) 存儲結果的對象。
(static) computeInfinitePerspectiveOffCenter(left, right, bottom, top, near, result) → {Matrix4}
計算表示無限偏心透視轉換的Matrix4實例。
Parameters:
left (Number) 攝像機左側將在視圖中的米數。
right (Number) 攝像機右側將在視圖中的米數。
bottom (Number) 將在視圖中的相機下方的米數。
top (Number) 攝像機上方將在視圖中的米數。
near (Number) 到近平面的距離,單位為米。
result (Matrix4) 存儲結果的對象。
(static) computeOrthographicOffCenter(left, right, bottom, top, near, far, result) → {Matrix4}
計算表示正交變換矩陣的Matrix4實例。
Parameters:
left (Number) 攝像機左側將在視圖中的米數。
right (Number) 攝像機右側將在視圖中的米數。
bottom (Number) 將在視圖中的相機下方的米數。
top (Number) 攝像機上方將在視圖中的米數。
near (Number) 到近平面的距離,單位為米。
far (Number) 到遠平面的距離,單位為米。
result (Matrix4) 存儲結果的對象。
(static) computePerspectiveFieldOfView(fovY, aspectRatio, near, far, result) → {Matrix4}
計算表示透視轉換矩陣的Matrix4實例。
Parameters:
fovY (Number) 沿Y軸以弧度表示的視場。
aspectRatio (Number) 縱橫比。
near (Number) 到近平面的距離,單位為米。
far (Number) 到遠平面的距離,單位為米。
result (Matrix4) 存儲結果的對象。
Throws
(static) computePerspectiveOffCenter(left, right, bottom, top, near, far, result) → {Matrix4}
計算表示偏心透視轉換的Matrix4實例。
Parameters:
left (Number) 攝像機左側將在視圖中的米數。
right (Number) 攝像機右側將在視圖中的米數。
bottom (Number) 將在視圖中的相機下方的米數。
top (Number) 攝像機上方將在視圖中的米數。
near (Number) 到近平面的距離,單位為米。
far (Number) 到遠平面的距離,單位為米。
result (Matrix4) 存儲結果的對象。
(static) computeView(position, direction, up, right, result) → {Matrix4}
計算從世界空間轉換為視圖空間的Matrix4實例。
Parameters:
position (Cartesian3) 相機的位置。
direction (Cartesian3) 前進方向。
up (Cartesian3) 向上方向。
right (Cartesian3) 正確的方向。
result (Matrix4) 存儲結果的對象。
(static) computeViewportTransformation(viewport, nearDepthRange, farDepthRange, result) → {Matrix4}
計算從標準化設備坐標轉換為窗口坐標的Matrix4實例。
Parameters:
viewport (Object) (default { x : 0.0, y : 0.0, width : 0.0, height : 0.0 }) 如示例1所示的視區角。
nearDepthRange (Number) (default 0.0) 窗口坐標中的近平面距離。
farDepthRange (Number) (default 1.0) 窗口坐標中的遠平面距離。
result (Matrix4) 存儲結果的對象。
Example
// Create viewport transformation using an explicit viewport and depth range.
var m = bmgl.Matrix4.computeViewportTransformation({
    x : 0.0,
    y : 0.0,
    width : 1024.0,
    height : 768.0
}, 0.0, 1.0, new bmgl.Matrix4());
(static) equals(left, right) → {Boolean}
比較提供的矩陣組件,如果它們相等,則返回true,否則返回false。
Parameters:
left (Matrix4) 第一個矩陣。
right (Matrix4) 第二個矩陣。
Example
//compares two Matrix4 instances

// a = [10.0, 14.0, 18.0, 22.0]
//     [11.0, 15.0, 19.0, 23.0]
//     [12.0, 16.0, 20.0, 24.0]
//     [13.0, 17.0, 21.0, 25.0]

// b = [10.0, 14.0, 18.0, 22.0]
//     [11.0, 15.0, 19.0, 23.0]
//     [12.0, 16.0, 20.0, 24.0]
//     [13.0, 17.0, 21.0, 25.0]

if(bmgl.Matrix4.equals(a,b)) {
     console.log("Both matrices are equal");
} else {
     console.log("They are not equal");
}

//Prints "Both matrices are equal" on the console
(static) equalsEpsilon(left, right, epsilon) → {Boolean}
比較提供的矩陣組件,如果它們在提供的epsilon中,則返回true,否則返回false
Parameters:
left (Matrix4) 第一個矩陣。
right (Matrix4) 第二個矩陣。
epsilon (Number) 用于相等性測試的epsilon。
Example
//compares two Matrix4 instances

// a = [10.5, 14.5, 18.5, 22.5]
//     [11.5, 15.5, 19.5, 23.5]
//     [12.5, 16.5, 20.5, 24.5]
//     [13.5, 17.5, 21.5, 25.5]

// b = [10.0, 14.0, 18.0, 22.0]
//     [11.0, 15.0, 19.0, 23.0]
//     [12.0, 16.0, 20.0, 24.0]
//     [13.0, 17.0, 21.0, 25.0]

if(bmgl.Matrix4.equalsEpsilon(a,b,0.1)){
     console.log("Difference between both the matrices is less than 0.1");
} else {
     console.log("Difference between both the matrices is not less than 0.1");
}

//Prints "Difference between both the matrices is not less than 0.1" on the console
(static) fromArray(array, startingIndex, result) → {Matrix4}
從數組中的16個連續元素創建matrix4。
Parameters:
array (Array.<Number>) 16個連續元素對應矩陣位置的數組。假定列主順序。
startingIndex (Number) (default 0) 第一個元素數組中的偏移量,它對應于矩陣中第一列第一行的位置。
result (Matrix4) 存儲結果的對象。
Example
// Create the Matrix4:
// [1.0, 2.0, 3.0, 4.0]
// [1.0, 2.0, 3.0, 4.0]
// [1.0, 2.0, 3.0, 4.0]
// [1.0, 2.0, 3.0, 4.0]

var v = [1.0, 1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 2.0, 3.0, 3.0, 3.0, 3.0, 4.0, 4.0, 4.0, 4.0];
var m = bmgl.Matrix4.fromArray(v);

// Create same Matrix4 with using an offset into an array
var v2 = [0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 2.0, 3.0, 3.0, 3.0, 3.0, 4.0, 4.0, 4.0, 4.0];
var m2 = bmgl.Matrix4.fromArray(v2, 2);
(static) fromCamera(camera, result) → {Matrix4}
從相機計算Matrix4實例。
Parameters:
camera (Camera) 要使用的攝像頭。
result (Matrix4) 將在其中存儲結果的對象,如果未定義,將創建新實例。
(static) fromColumnMajorArray(values, result) → {Matrix4}
從列主順序數組計算matrix4實例。
Parameters:
values (Array.<Number>) 列主順序數組。
result (Matrix4) 將在其中存儲結果的對象,如果未定義,將創建新實例。
(static) fromRotationTranslation(rotation, translation, result) → {Matrix4}
從表示旋轉的Matrix3和表示轉換的Cartesian3計算Matrix4實例。
Parameters:
rotation (Matrix3) 表示旋轉的矩陣的左上角。
translation (Cartesian3) (default Cartesian3.ZERO) 表示翻譯的矩陣的右上角。
result (Matrix4) 將在其中存儲結果的對象,如果未定義,將創建新實例。
(static) fromRowMajorArray(values, result) → {Matrix4}
從行主順序數組計算matrix4實例。生成的矩陣將按主列順序排列。
Parameters:
values (Array.<Number>) 行主順序數組。
result (Matrix4) 將在其中存儲結果的對象,如果未定義,將創建新實例。
(static) fromScale(scale, result) → {Matrix4}
計算表示非均勻比例的Matrix4實例。
Parameters:
scale (Cartesian3) X、Y和Z比例因子。
result (Matrix4) 將在其中存儲結果的對象,如果未定義,將創建新實例。
Example
// Creates
//   [7.0, 0.0, 0.0, 0.0]
//   [0.0, 8.0, 0.0, 0.0]
//   [0.0, 0.0, 9.0, 0.0]
//   [0.0, 0.0, 0.0, 1.0]
var m = bmgl.Matrix4.fromScale(new bmgl.Cartesian3(7.0, 8.0, 9.0));
(static) fromTranslation(translation, result) → {Matrix4}
從表示轉換的cartesian3創建matrix4實例。
Parameters:
translation (Cartesian3) 表示翻譯的矩陣的右上角。
result (Matrix4) 將在其中存儲結果的對象,如果未定義,將創建新實例。
See:
(static) fromTranslationQuaternionRotationScale(translation, rotation, scale, result) → {Matrix4}
使用四元數表示的旋轉,從平移、旋轉和縮放(TRS)表示計算Matrix4實例。
Parameters:
translation (Cartesian3) 翻譯轉換。
rotation (Quaternion) 旋轉變換。
scale (Cartesian3) 非均勻尺度變換。
result (Matrix4) 將在其中存儲結果的對象,如果未定義,將創建新實例。
Example
var result = bmgl.Matrix4.fromTranslationQuaternionRotationScale(
  new bmgl.Cartesian3(1.0, 2.0, 3.0), // translation
  bmgl.Quaternion.IDENTITY,           // rotation
  new bmgl.Cartesian3(7.0, 8.0, 9.0), // scale
  result);
(static) fromTranslationRotationScale(translationRotationScale, result) → {Matrix4}
TranslationRotationScale實例創建matrix4實例。
Parameters:
translationRotationScale (TranslationRotationScale) 實例。
result (Matrix4) 將在其中存儲結果的對象,如果未定義,將創建新實例。
(static) fromUniformScale(scale, result) → {Matrix4}
計算表示統一比例的Matrix4實例。
Parameters:
scale (Number) 均勻比例因子。
result (Matrix4) 將在其中存儲結果的對象,如果未定義,將創建新實例。
Example
// Creates
//   [2.0, 0.0, 0.0, 0.0]
//   [0.0, 2.0, 0.0, 0.0]
//   [0.0, 0.0, 2.0, 0.0]
//   [0.0, 0.0, 0.0, 1.0]
var m = bmgl.Matrix4.fromUniformScale(2.0);
(static) getColumn(matrix, index, result) → {Cartesian4}
以cartesian4實例的形式檢索所提供索引處的矩陣列的副本。
Parameters:
matrix (Matrix4) 要使用的矩陣。
index (Number) 要檢索的列的從零開始的索引。
result (Cartesian4) 存儲結果的對象。
Examples
//returns a Cartesian4 instance with values from the specified column
// m = [10.0, 11.0, 12.0, 13.0]
//     [14.0, 15.0, 16.0, 17.0]
//     [18.0, 19.0, 20.0, 21.0]
//     [22.0, 23.0, 24.0, 25.0]

//Example 1: Creates an instance of Cartesian
var a = bmgl.Matrix4.getColumn(m, 2, new bmgl.Cartesian4());
//Example 2: Sets values for Cartesian instance
var a = new bmgl.Cartesian4();
bmgl.Matrix4.getColumn(m, 2, a);

// a.x = 12.0; a.y = 16.0; a.z = 20.0; a.w = 24.0;
Throws
(static) getElementIndex(row, column) → {Number}
在提供的行和列處計算元素的數組索引。
Parameters:
row (Number) 行的從零開始的索引。
column (Number) 列的從零開始的索引。
Example
var myMatrix = new bmgl.Matrix4();
var column1Row0Index = bmgl.Matrix4.getElementIndex(1, 0);
var column1Row0 = myMatrix[column1Row0Index];
myMatrix[column1Row0Index] = 10.0;
Throws
(static) getMatrix3(matrix, result) → {Matrix3}
獲取所提供矩陣的左上3x3旋轉矩陣,假定該矩陣是仿射變換矩陣。
Parameters:
matrix (Matrix4) 要使用的矩陣。
result (Matrix3) 存儲結果的對象。
Example
// returns a Matrix3 instance from a Matrix4 instance

// m = [10.0, 14.0, 18.0, 22.0]
//     [11.0, 15.0, 19.0, 23.0]
//     [12.0, 16.0, 20.0, 24.0]
//     [13.0, 17.0, 21.0, 25.0]

var b = new bmgl.Matrix3();
bmgl.Matrix4.getMatrix3(m,b);

// b = [10.0, 14.0, 18.0]
//     [11.0, 15.0, 19.0]
//     [12.0, 16.0, 20.0]
(static) getMaximumScale(matrix) → {Number}
假設矩陣是仿射變換,則計算最大比例。最大比例是左上3x3矩陣中列向量的最大長度。
Parameters:
matrix (Matrix4) 矩陣。
(static) getRotation(matrix, result) → {Matrix3}
獲取所提供矩陣的左上3x3旋轉矩陣,假定該矩陣是仿射變換矩陣。
Parameters:
matrix (Matrix4) 要使用的矩陣。
result (Matrix3) 存儲結果的對象。

Deprecated: moved to Matrix4.getMatrix3

(static) getRow(matrix, index, result) → {Cartesian4}
以cartesian4實例的形式檢索所提供索引處的矩陣行的副本。
Parameters:
matrix (Matrix4) 要使用的矩陣。
index (Number) 要檢索的行的從零開始的索引。
result (Cartesian4) 存儲結果的對象。
Examples
//returns a Cartesian4 instance with values from the specified column
// m = [10.0, 11.0, 12.0, 13.0]
//     [14.0, 15.0, 16.0, 17.0]
//     [18.0, 19.0, 20.0, 21.0]
//     [22.0, 23.0, 24.0, 25.0]

//Example 1: Returns an instance of Cartesian
var a = bmgl.Matrix4.getRow(m, 2, new bmgl.Cartesian4());
//Example 2: Sets values for a Cartesian instance
var a = new bmgl.Cartesian4();
bmgl.Matrix4.getRow(m, 2, a);

// a.x = 18.0; a.y = 19.0; a.z = 20.0; a.w = 21.0;
Throws
(static) getScale(matrix, result) → {Cartesian3}
假設矩陣是仿射變換,則提取不均勻尺度。
Parameters:
matrix (Matrix4) 矩陣。
result (Cartesian3) 存儲結果的對象。
(static) getTranslation(matrix, result) → {Cartesian3}
獲取所提供矩陣的轉換部分,假定該矩陣是仿射變換矩陣。
Parameters:
matrix (Matrix4) 要使用的矩陣。
result (Cartesian3) 存儲結果的對象。
(static) inverse(matrix, result) → {Matrix4}
使用Cramers規則計算所提供矩陣的逆矩陣。如果行列式為零,則矩陣不能反轉,并引發異常。如果矩陣是仿射變換矩陣,用Matrix4.inverseTransformation倒轉更有效。
Parameters:
matrix (Matrix4) 要反轉的矩陣。
result (Matrix4) 存儲結果的對象。
Throws
  • RuntimeError : 矩陣不可逆,因為它的確定度為零。
(static) inverseTransformation(matrix, result) → {Matrix4}
假設所提供的矩陣是仿射變換矩陣,其中左上3x3元素是旋轉矩陣,第四列中的上三個元素是平移,則計算所提供矩陣的逆矩陣。假定底行為[0,0,0,1]。未驗證矩陣的形式是否正確。此方法比使用Matrix4.inverse計算一般4x4矩陣的逆矩陣更快。
Parameters:
matrix (Matrix4) 要反轉的矩陣。
result (Matrix4) 存儲結果的對象。
(static) multiply(left, right, result) → {Matrix4}
計算兩個矩陣的乘積。
Parameters:
left (Matrix4) 第一個矩陣。
right (Matrix4) 第二個矩陣。
result (Matrix4) 存儲結果的對象。
(static) multiplyByMatrix3(matrix, rotation, result) → {Matrix4}
將轉換矩陣(底行為[0.0, 0.0, 0.0, 1.0])乘以3x3旋轉矩陣。這是針對Matrix4.multiply(m, Matrix4.fromRotationTranslation(rotation), m);的優化,具有較少的分配和算術運算。
Parameters:
matrix (Matrix4) 左邊的矩陣。
rotation (Matrix3) 右側的3x3旋轉矩陣。
result (Matrix4) 存儲結果的對象。
Example
// Instead of bmgl.Matrix4.multiply(m, bmgl.Matrix4.fromRotationTranslation(rotation), m);
bmgl.Matrix4.multiplyByMatrix3(m, rotation, m);
(static) multiplyByPoint(matrix, cartesian, result) → {Cartesian3}
計算矩陣和aCartesian3的乘積。這相當于用一個Cartesian4調用Matrix4.multiplyByVector,組件w為1,但返回一個Cartesian3而不是一個Cartesian4
Parameters:
matrix (Matrix4) 矩陣。
cartesian (Cartesian3) 重點。
result (Cartesian3) 存儲結果的對象。
Example
var p = new bmgl.Cartesian3(1.0, 2.0, 3.0);
var result = bmgl.Matrix4.multiplyByPoint(matrix, p, new bmgl.Cartesian3());
(static) multiplyByPointAsVector(matrix, cartesian, result) → {Cartesian3}
計算矩陣和aCartesian3的乘積。這相當于使用Cartesian4調用Matrix4.multiplyByVector,其中w組件為零。
Parameters:
matrix (Matrix4) 矩陣。
cartesian (Cartesian3) 重點。
result (Cartesian3) 存儲結果的對象。
Example
var p = new bmgl.Cartesian3(1.0, 2.0, 3.0);
var result = bmgl.Matrix4.multiplyByPointAsVector(matrix, p, new bmgl.Cartesian3());
// A shortcut for
//   Cartesian3 p = ...
//   bmgl.Matrix4.multiplyByVector(matrix, new bmgl.Cartesian4(p.x, p.y, p.z, 0.0), result);
(static) multiplyByScalar(matrix, scalar, result) → {Matrix4}
計算矩陣和標量的乘積。
Parameters:
matrix (Matrix4) 矩陣。
scalar (Number) 要乘以的數字。
result (Matrix4) 存儲結果的對象。
Example
//create a Matrix4 instance which is a scaled version of the supplied Matrix4
// m = [10.0, 11.0, 12.0, 13.0]
//     [14.0, 15.0, 16.0, 17.0]
//     [18.0, 19.0, 20.0, 21.0]
//     [22.0, 23.0, 24.0, 25.0]

var a = bmgl.Matrix4.multiplyByScalar(m, -2, new bmgl.Matrix4());

// m remains the same
// a = [-20.0, -22.0, -24.0, -26.0]
//     [-28.0, -30.0, -32.0, -34.0]
//     [-36.0, -38.0, -40.0, -42.0]
//     [-44.0, -46.0, -48.0, -50.0]
(static) multiplyByScale(matrix, scale, result) → {Matrix4}
將仿射變換矩陣(底行為[0.0, 0.0, 0.0, 1.0])乘以隱式非均勻比例矩陣。這是對Matrix4.multiply(m, Matrix4.fromUniformScale(scale), m);的優化,其中m必須是仿射矩陣。此函數執行的分配和算術運算更少。
Parameters:
matrix (Matrix4) 左邊的仿射矩陣。
scale (Cartesian3) 右側的不均勻刻度。
result (Matrix4) 存儲結果的對象。
Example
// Instead of bmgl.Matrix4.multiply(m, bmgl.Matrix4.fromScale(scale), m);
bmgl.Matrix4.multiplyByScale(m, scale, m);
See:
(static) multiplyByTranslation(matrix, translation, result) → {Matrix4}
將轉換矩陣(底行為[0.0, 0.0, 0.0, 1.0])乘以由Cartesian3定義的隱式轉換矩陣。這是針對Matrix4.multiply(m, Matrix4.fromTranslation(position), m);的優化,分配和算術運算更少。
Parameters:
matrix (Matrix4) 左邊的矩陣。
translation (Cartesian3) 右邊的譯文。
result (Matrix4) 存儲結果的對象。
Example
// Instead of bmgl.Matrix4.multiply(m, bmgl.Matrix4.fromTranslation(position), m);
bmgl.Matrix4.multiplyByTranslation(m, position, m);
(static) multiplyByUniformScale(matrix, scale, result) → {Matrix4}
將仿射變換矩陣(底行為[0.0, 0.0, 0.0, 1.0])乘以隱式均勻比例矩陣。這是對Matrix4.multiply(m, Matrix4.fromUniformScale(scale), m);的優化,其中m必須是仿射矩陣。此函數執行的分配和算術運算更少。
Parameters:
matrix (Matrix4) 左邊的仿射矩陣。
scale (Number) 右手邊的統一比例。
result (Matrix4) 存儲結果的對象。
Example
// Instead of bmgl.Matrix4.multiply(m, bmgl.Matrix4.fromUniformScale(scale), m);
bmgl.Matrix4.multiplyByUniformScale(m, scale, m);
See:
(static) multiplyByVector(matrix, cartesian, result) → {Cartesian4}
計算矩陣和列向量的乘積。
Parameters:
matrix (Matrix4) 矩陣。
cartesian (Cartesian4) 向量。
result (Cartesian4) 存儲結果的對象。
(static) multiplyTransformation(left, right, result) → {Matrix4}
假設兩個矩陣是仿射變換矩陣,其中左上3x3元素是旋轉矩陣,第四列中的上三個元素是平移,則計算兩個矩陣的乘積。假定底行為[0,0,0,1]。未驗證矩陣的形式是否正確。此方法比使用Matrix4.multiply計算一般4x4矩陣的產品更快。
Parameters:
left (Matrix4) 第一個矩陣。
right (Matrix4) 第二個矩陣。
result (Matrix4) 存儲結果的對象。
Example
var m1 = new bmgl.Matrix4(1.0, 6.0, 7.0, 0.0, 2.0, 5.0, 8.0, 0.0, 3.0, 4.0, 9.0, 0.0, 0.0, 0.0, 0.0, 1.0);
var m2 = bmgl.Transforms.eastNorthUpToFixedFrame(new bmgl.Cartesian3(1.0, 1.0, 1.0));
var m3 = bmgl.Matrix4.multiplyTransformation(m1, m2, new bmgl.Matrix4());
(static) negate(matrix, result) → {Matrix4}
計算所提供矩陣的否定副本。
Parameters:
matrix (Matrix4) 要求反的矩陣。
result (Matrix4) 存儲結果的對象。
Example
//create a new Matrix4 instance which is a negation of a Matrix4
// m = [10.0, 11.0, 12.0, 13.0]
//     [14.0, 15.0, 16.0, 17.0]
//     [18.0, 19.0, 20.0, 21.0]
//     [22.0, 23.0, 24.0, 25.0]

var a = bmgl.Matrix4.negate(m, new bmgl.Matrix4());

// m remains the same
// a = [-10.0, -11.0, -12.0, -13.0]
//     [-14.0, -15.0, -16.0, -17.0]
//     [-18.0, -19.0, -20.0, -21.0]
//     [-22.0, -23.0, -24.0, -25.0]
(static) pack(value, array, startingIndex) → {Array.<Number>}
將提供的實例存儲到提供的數組中。
Parameters:
value (Matrix4) 要打包的值。
array (Array.<Number>) 要打包的數組。
startingIndex (Number) (default 0) 數組中開始打包元素的索引。
(static) setColumn(matrix, index, cartesian, result) → {Matrix4}
計算用提供的cartesian4實例替換所提供矩陣中指定列的新矩陣。
Parameters:
matrix (Matrix4) 要使用的矩陣。
index (Number) 要設置的列的從零開始的索引。
cartesian (Cartesian4) 值將分配給指定列的笛卡爾。
result (Matrix4) 存儲結果的對象。
Example
//creates a new Matrix4 instance with new column values from the Cartesian4 instance
// m = [10.0, 11.0, 12.0, 13.0]
//     [14.0, 15.0, 16.0, 17.0]
//     [18.0, 19.0, 20.0, 21.0]
//     [22.0, 23.0, 24.0, 25.0]

var a = bmgl.Matrix4.setColumn(m, 2, new bmgl.Cartesian4(99.0, 98.0, 97.0, 96.0), new bmgl.Matrix4());

// m remains the same
// a = [10.0, 11.0, 99.0, 13.0]
//     [14.0, 15.0, 98.0, 17.0]
//     [18.0, 19.0, 97.0, 21.0]
//     [22.0, 23.0, 96.0, 25.0]
Throws
(static) setRow(matrix, index, cartesian, result) → {Matrix4}
計算用提供的cartesian4實例替換所提供矩陣中指定行的新矩陣。
Parameters:
matrix (Matrix4) 要使用的矩陣。
index (Number) 要設置的行的從零開始的索引。
cartesian (Cartesian4) 值將分配給指定行的笛卡爾。
result (Matrix4) 存儲結果的對象。
Example
//create a new Matrix4 instance with new row values from the Cartesian4 instance
// m = [10.0, 11.0, 12.0, 13.0]
//     [14.0, 15.0, 16.0, 17.0]
//     [18.0, 19.0, 20.0, 21.0]
//     [22.0, 23.0, 24.0, 25.0]

var a = bmgl.Matrix4.setRow(m, 2, new bmgl.Cartesian4(99.0, 98.0, 97.0, 96.0), new bmgl.Matrix4());

// m remains the same
// a = [10.0, 11.0, 12.0, 13.0]
//     [14.0, 15.0, 16.0, 17.0]
//     [99.0, 98.0, 97.0, 96.0]
//     [22.0, 23.0, 24.0, 25.0]
Throws
(static) setScale(matrix, scale, result) → {Matrix4}
計算用提供的比例替換比例的新矩陣。假設矩陣是仿射變換。
Parameters:
matrix (Matrix4) 要使用的矩陣。
scale (Cartesian3) 替換所提供矩陣的小數位數的小數位數。
result (Matrix4) 存儲結果的對象。
(static) setTranslation(matrix, translation, result) → {Matrix4}
計算一個新的矩陣,用所提供的翻譯替換所提供矩陣最右列中的翻譯。假設矩陣是仿射變換。
Parameters:
matrix (Matrix4) 要使用的矩陣。
translation (Cartesian3) 替換所提供矩陣的翻譯的翻譯。
result (Matrix4) 存儲結果的對象。
(static) subtract(left, right, result) → {Matrix4}
計算兩個矩陣的差。
Parameters:
left (Matrix4) 第一個矩陣。
right (Matrix4) 第二個矩陣。
result (Matrix4) 存儲結果的對象。
(static) toArray(matrix, result) → {Array.<Number>}
從提供的Matrix4實例計算數組。數組將按列主順序排列。
Parameters:
matrix (Matrix4) 要使用的矩陣。
result (Array.<Number>) 存儲結果的數組。
Example
//create an array from an instance of Matrix4
// m = [10.0, 14.0, 18.0, 22.0]
//     [11.0, 15.0, 19.0, 23.0]
//     [12.0, 16.0, 20.0, 24.0]
//     [13.0, 17.0, 21.0, 25.0]
var a = bmgl.Matrix4.toArray(m);

// m remains the same
//creates a = [10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 23.0, 24.0, 25.0]
(static) transpose(matrix, result) → {Matrix4}
計算所提供矩陣的轉置。
Parameters:
matrix (Matrix4) 要轉置的矩陣。
result (Matrix4) 存儲結果的對象。
Example
//returns transpose of a Matrix4
// m = [10.0, 11.0, 12.0, 13.0]
//     [14.0, 15.0, 16.0, 17.0]
//     [18.0, 19.0, 20.0, 21.0]
//     [22.0, 23.0, 24.0, 25.0]

var a = bmgl.Matrix4.transpose(m, new bmgl.Matrix4());

// m remains the same
// a = [10.0, 14.0, 18.0, 22.0]
//     [11.0, 15.0, 19.0, 23.0]
//     [12.0, 16.0, 20.0, 24.0]
//     [13.0, 17.0, 21.0, 25.0]
(static) unpack(array, startingIndex, result) → {Matrix4}
從壓縮數組中檢索實例。
Parameters:
array (Array.<Number>) 壓縮數組。
startingIndex (Number) (default 0) 要解包的元素的起始索引。
result (Matrix4) 存儲結果的對象。
主站蜘蛛池模板: 提供技术支持-TXC晶振-晶振厂家-32.768K,石英晶体振荡器厂家销售-NDK振荡器正规代理商 | 清尼龙滤膜-清洁度检测设备-清洁度分析仪-清洁度萃取机-优昂(百科) | 首页|广东蒙泰高新纤维股份有限公司|丙纶细旦丝|丙纶异形丝|丙纶FDY网络丝 - 广东蒙泰高新纤维股份有限公司 | 山西华盛筑景装饰,山西专业公装公司,太原公装装修公司,包括:办公室,酒店宾馆,商铺店铺,学校幼儿园,会所会馆饭店餐馆等装修设计 | 上海浩斌信息科技有限公司RFID读写器,IC卡读卡器,手持机,数据采集终端,电力仓库管理软件开发,固定资产软件,纱管标签,试剂管理,RFID试剂柜,档案管理,档案柜,智能货架 | 深圳家具网-家具展会-家具检测-家具品牌—深圳市家具行业协会官网 | 深圳同步带轮_东莞齿轮加工_东莞同步轮厂家-东莞东城精胜机械配件厂 | 拉布机_全自动拉布机_全自动拉布机厂家-江苏拉布机械科技有限公司 | 清河县隆鑫密封件有限公司,汽车用密封条,配电箱柜、集装箱密封胶条,建筑门窗、家具用密封条,无毒环保医用密封条,船舶、农机用密封条,异型产品 | 石家庄团建公司|石家庄拓展训练|石家庄拓展培训|石家庄公司团建|石家庄拓展公司-石家庄启聚团建公司 | 牡丹江网络公司,牡丹江网站建设专家|网络推广|网络营销|黑龙江艺通网络技术开发有限公司 | 天津代办营业执照_注册公司_代理记账_代办注销_地址变更-谷骐科技 | 机器人码垛机-纸箱套袋机-水平缠绕机-贴标机-开箱机-装盒机-杭州贝立智能设备有限公司 | 球场地板_运动场地面_体育设施器材_地坪漆工程_项目承接-大上实业(深圳)有限公司 | 小型环境空气质量连续监测系统-烟气排放连续监测仪(碳排放)-青岛明德环保仪器有限公司 | 上海海外置业展_2024海外置业移民留学展_4月5-7日_企业参展处/免费领门票 | 耐磨锤头|合金锤头|高铬耐磨锤头|破碎机锤头|双金属双液复合锤头_巩义东辰实业 合金耐磨锤头铸造厂 | 重庆成考网_重庆成人高考网 | 清扫器-聚氨酯清扫器-合金清扫器-四连杆自动纠偏-机械纠偏-锥辊纠偏-衡水涌泉机械科技有限公司 | 通风方式信号控制箱_人防呼叫按钮_人防设备厂家–西安鼎兴自控工程有限公司 | 水上浮筒_塑料浮筒_龙舟码头_浮筒浮动码头-黄山耀利水上设施有限公司 | 三七/灵芝超微粉碎机,小型超细粉碎机价格-北京燕山正德机械设备有限公司 | 科衣洛定制衣柜,书柜,厨柜,衣帽间,电视柜,酒柜,餐厅柜,门厅柜,鞋柜——科衣洛全屋定制官网 | 网带窑,催化剂网带窑,电热回转窑-淄博圣元窑炉工程有限公司 | 新乡市德诚机电制造有限公司_筛分设备_振动筛机_颗粒筛选机 | 豪顺物流官网-南京物流公司,南京货运公司「全国专线配送」 | 信管飞软件官网 - 亚拓软件旗下精细化管理软件、进销存管理软件、混凝土ERP、通风设备ERP、风管报价软件、出纳软件、送货单打印软件、ERP软件等免费下载 | 液位变送器_智能压力变送器_3051差压变送器_单双法兰,投入式,电容式,温度变送器-淮安润中仪表科技有限公司 | 拉布机_全自动拉布机_全自动拉布机厂家-江苏拉布机械科技有限公司 | 湖南长沙手术室、实验室、无尘室、洁净室、无尘车间的净化工程装修公司-福临建设 | 球形钢支座,粘滞阻尼器,抗震球型钢支座,盆式橡胶支座,调谐质量阻尼器,屈曲约束支撑-衡水路泽科技 | 河卵石制砂机|鹅卵石制砂机-移动制砂机-制砂设备-郑州秦星机械设备有限公司 | 济南诚润达贸易有限公司 - 专注专营巴斯夫防冻冷却液 | 重庆宏工_隧道取芯钻机_公路护栏钻机-车载式钻机_打钻一体机_护栏抢修车_隧道钻机-工程机械 | 铸铁平台-铸铁平板平台厂家-加工优质高精度检验划线装配T型槽平台-尺寸规格全供应-建新铸造 | 昆明子弟食品有限公司| 苏州注册公司-代理工商注册-苏州及财企业服务有限公司 | 苏州注塑|无锡注塑|上海注塑|苏州汉科精密注塑有限公司 | 微机保护装置_发电机保护_变压器保护_逆功率保护_防孤岛保护装置_光伏发电_杭州继保电气集团有限公司 | 重庆教师资格网-重庆教师资格证考试网| 履带吊出租_大型吊装设备_履带式起重机-山东腾飞吊装工程有限公司 |