国产久_亚欧精品一区_久久亚洲美女_99精品在线观看_日韩成人三级_久久精品久久久久

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) 存儲結果的對象。
主站蜘蛛池模板: 成人国产免费 | 午夜欧美一区二区三区在线播放 | 四虎国产 | 亚洲视频高清 | 中国一级片视频 | www.中文字幕在线观看 | 91精品视频在线播放 | 黄色软件大合集 | 图片区小说区亚洲 | 先锋影音av资源在线观看 | 一级毛片视频 | 超碰狠狠操 | 日本a网 | 337p日本欧洲亚洲大胆精蜜臀 | 蜜桃成人在线 | 九九伊人八戒 | 偷拍自拍第二页 | av在线亚洲男人的天堂 | 国产黄色片免费在线观看 | 69精品视频 | 特级一级片 | 国产三级91| 亚洲精品在线免费观看视频 | 天堂一二三区 | 偷拍自拍欧美 | 日韩经典电影免费 | 久久不卡 | 成人影视网 | 91久久国产综合久久 | 欧美午夜一区二区三区 | 久草中文视频 | 马与人黄色毛片免费视频 | 欧美日本片 | 精品久久av| 夜夜草天天干 | 亚欧毛片 | 日韩a级片视频 | 亚洲激情欧美激情 | 国产精品久久久久久久毛片 | 人人干视频 | a级高清毛片 |