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

Matrix4

4x4矩陣,可作為列主順序數(shù)組進行索引。對于代碼可讀性,構(gòu)造函數(shù)參數(shù)按行主順序排列。
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

獲取集合中的項數(shù)。

(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

用于將對象打包到數(shù)組中的元素數(shù)。

(static, constant) ZERO : Matrix4

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

Methods

clone(result) → {Matrix4}
復(fù)制提供的matrix4實例。
Parameters:
result (Matrix4) 存儲結(jié)果的對象。
equals(right) → {Boolean}
將此矩陣與提供的矩陣組件進行比較,如果相等,則返回true,否則返回false
Parameters:
right (Matrix4) 右側(cè)矩陣。
equalsEpsilon(right, epsilon) → {Boolean}
將此矩陣與提供的矩陣組件進行比較,如果它們在提供的epsilon中,則返回true,否則返回false。
Parameters:
right (Matrix4) 右側(cè)矩陣。
epsilon (Number) 用于相等性測試的epsilon。
toString() → {String}
計算表示此矩陣的字符串,每一行都位于單獨的行上,格式為“(第0列、第1列、第2列、第3列)”。
(static) abs(matrix, result) → {Matrix4}
計算包含所提供矩陣元素的絕對(無符號)值的矩陣。
Parameters:
matrix (Matrix4) 帶符號元素的矩陣。
result (Matrix4) 存儲結(jié)果的對象。
(static) add(left, right, result) → {Matrix4}
計算兩個矩陣的和。
Parameters:
left (Matrix4) 第一個矩陣。
right (Matrix4) 第二個矩陣。
result (Matrix4) 存儲結(jié)果的對象。
(static) clone(matrix, result) → {Matrix4}
復(fù)制Matrix4實例。
Parameters:
matrix (Matrix4) 要復(fù)制的矩陣。
result (Matrix4) 存儲結(jié)果的對象。
(static) computeInfinitePerspectiveOffCenter(left, right, bottom, top, near, result) → {Matrix4}
計算表示無限偏心透視轉(zhuǎn)換的Matrix4實例。
Parameters:
left (Number) 攝像機左側(cè)將在視圖中的米數(shù)。
right (Number) 攝像機右側(cè)將在視圖中的米數(shù)。
bottom (Number) 將在視圖中的相機下方的米數(shù)。
top (Number) 攝像機上方將在視圖中的米數(shù)。
near (Number) 到近平面的距離,單位為米。
result (Matrix4) 存儲結(jié)果的對象。
(static) computeOrthographicOffCenter(left, right, bottom, top, near, far, result) → {Matrix4}
計算表示正交變換矩陣的Matrix4實例。
Parameters:
left (Number) 攝像機左側(cè)將在視圖中的米數(shù)。
right (Number) 攝像機右側(cè)將在視圖中的米數(shù)。
bottom (Number) 將在視圖中的相機下方的米數(shù)。
top (Number) 攝像機上方將在視圖中的米數(shù)。
near (Number) 到近平面的距離,單位為米。
far (Number) 到遠平面的距離,單位為米。
result (Matrix4) 存儲結(jié)果的對象。
(static) computePerspectiveFieldOfView(fovY, aspectRatio, near, far, result) → {Matrix4}
計算表示透視轉(zhuǎn)換矩陣的Matrix4實例。
Parameters:
fovY (Number) 沿Y軸以弧度表示的視場。
aspectRatio (Number) 縱橫比。
near (Number) 到近平面的距離,單位為米。
far (Number) 到遠平面的距離,單位為米。
result (Matrix4) 存儲結(jié)果的對象。
Throws
(static) computePerspectiveOffCenter(left, right, bottom, top, near, far, result) → {Matrix4}
計算表示偏心透視轉(zhuǎn)換的Matrix4實例。
Parameters:
left (Number) 攝像機左側(cè)將在視圖中的米數(shù)。
right (Number) 攝像機右側(cè)將在視圖中的米數(shù)。
bottom (Number) 將在視圖中的相機下方的米數(shù)。
top (Number) 攝像機上方將在視圖中的米數(shù)。
near (Number) 到近平面的距離,單位為米。
far (Number) 到遠平面的距離,單位為米。
result (Matrix4) 存儲結(jié)果的對象。
(static) computeView(position, direction, up, right, result) → {Matrix4}
計算從世界空間轉(zhuǎn)換為視圖空間的Matrix4實例。
Parameters:
position (Cartesian3) 相機的位置。
direction (Cartesian3) 前進方向。
up (Cartesian3) 向上方向。
right (Cartesian3) 正確的方向。
result (Matrix4) 存儲結(jié)果的對象。
(static) computeViewportTransformation(viewport, nearDepthRange, farDepthRange, result) → {Matrix4}
計算從標準化設(shè)備坐標轉(zhuǎn)換為窗口坐標的Matrix4實例。
Parameters:
viewport (Object) (default { x : 0.0, y : 0.0, width : 0.0, height : 0.0 }) 如示例1所示的視區(qū)角。
nearDepthRange (Number) (default 0.0) 窗口坐標中的近平面距離。
farDepthRange (Number) (default 1.0) 窗口坐標中的遠平面距離。
result (Matrix4) 存儲結(jié)果的對象。
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}
從數(shù)組中的16個連續(xù)元素創(chuàng)建matrix4。
Parameters:
array (Array.<Number>) 16個連續(xù)元素對應(yīng)矩陣位置的數(shù)組。假定列主順序。
startingIndex (Number) (default 0) 第一個元素數(shù)組中的偏移量,它對應(yīng)于矩陣中第一列第一行的位置。
result (Matrix4) 存儲結(jié)果的對象。
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) 將在其中存儲結(jié)果的對象,如果未定義,將創(chuàng)建新實例。
(static) fromColumnMajorArray(values, result) → {Matrix4}
從列主順序數(shù)組計算matrix4實例。
Parameters:
values (Array.<Number>) 列主順序數(shù)組。
result (Matrix4) 將在其中存儲結(jié)果的對象,如果未定義,將創(chuàng)建新實例。
(static) fromRotationTranslation(rotation, translation, result) → {Matrix4}
從表示旋轉(zhuǎn)的Matrix3和表示轉(zhuǎn)換的Cartesian3計算Matrix4實例。
Parameters:
rotation (Matrix3) 表示旋轉(zhuǎn)的矩陣的左上角。
translation (Cartesian3) (default Cartesian3.ZERO) 表示翻譯的矩陣的右上角。
result (Matrix4) 將在其中存儲結(jié)果的對象,如果未定義,將創(chuàng)建新實例。
(static) fromRowMajorArray(values, result) → {Matrix4}
從行主順序數(shù)組計算matrix4實例。生成的矩陣將按主列順序排列。
Parameters:
values (Array.<Number>) 行主順序數(shù)組。
result (Matrix4) 將在其中存儲結(jié)果的對象,如果未定義,將創(chuàng)建新實例。
(static) fromScale(scale, result) → {Matrix4}
計算表示非均勻比例的Matrix4實例。
Parameters:
scale (Cartesian3) X、Y和Z比例因子。
result (Matrix4) 將在其中存儲結(jié)果的對象,如果未定義,將創(chuàng)建新實例。
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}
從表示轉(zhuǎn)換的cartesian3創(chuàng)建matrix4實例。
Parameters:
translation (Cartesian3) 表示翻譯的矩陣的右上角。
result (Matrix4) 將在其中存儲結(jié)果的對象,如果未定義,將創(chuàng)建新實例。
See:
(static) fromTranslationQuaternionRotationScale(translation, rotation, scale, result) → {Matrix4}
使用四元數(shù)表示的旋轉(zhuǎn),從平移、旋轉(zhuǎn)和縮放(TRS)表示計算Matrix4實例。
Parameters:
translation (Cartesian3) 翻譯轉(zhuǎn)換。
rotation (Quaternion) 旋轉(zhuǎn)變換。
scale (Cartesian3) 非均勻尺度變換。
result (Matrix4) 將在其中存儲結(jié)果的對象,如果未定義,將創(chuàng)建新實例。
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實例創(chuàng)建matrix4實例。
Parameters:
translationRotationScale (TranslationRotationScale) 實例。
result (Matrix4) 將在其中存儲結(jié)果的對象,如果未定義,將創(chuàng)建新實例。
(static) fromUniformScale(scale, result) → {Matrix4}
計算表示統(tǒng)一比例的Matrix4實例。
Parameters:
scale (Number) 均勻比例因子。
result (Matrix4) 將在其中存儲結(jié)果的對象,如果未定義,將創(chuàng)建新實例。
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) 存儲結(jié)果的對象。
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}
在提供的行和列處計算元素的數(shù)組索引。
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旋轉(zhuǎn)矩陣,假定該矩陣是仿射變換矩陣。
Parameters:
matrix (Matrix4) 要使用的矩陣。
result (Matrix3) 存儲結(jié)果的對象。
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}
假設(shè)矩陣是仿射變換,則計算最大比例。最大比例是左上3x3矩陣中列向量的最大長度。
Parameters:
matrix (Matrix4) 矩陣。
(static) getRotation(matrix, result) → {Matrix3}
獲取所提供矩陣的左上3x3旋轉(zhuǎn)矩陣,假定該矩陣是仿射變換矩陣。
Parameters:
matrix (Matrix4) 要使用的矩陣。
result (Matrix3) 存儲結(jié)果的對象。

Deprecated: moved to Matrix4.getMatrix3

(static) getRow(matrix, index, result) → {Cartesian4}
以cartesian4實例的形式檢索所提供索引處的矩陣行的副本。
Parameters:
matrix (Matrix4) 要使用的矩陣。
index (Number) 要檢索的行的從零開始的索引。
result (Cartesian4) 存儲結(jié)果的對象。
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}
假設(shè)矩陣是仿射變換,則提取不均勻尺度。
Parameters:
matrix (Matrix4) 矩陣。
result (Cartesian3) 存儲結(jié)果的對象。
(static) getTranslation(matrix, result) → {Cartesian3}
獲取所提供矩陣的轉(zhuǎn)換部分,假定該矩陣是仿射變換矩陣。
Parameters:
matrix (Matrix4) 要使用的矩陣。
result (Cartesian3) 存儲結(jié)果的對象。
(static) inverse(matrix, result) → {Matrix4}
使用Cramers規(guī)則計算所提供矩陣的逆矩陣。如果行列式為零,則矩陣不能反轉(zhuǎn),并引發(fā)異常。如果矩陣是仿射變換矩陣,用Matrix4.inverseTransformation倒轉(zhuǎn)更有效。
Parameters:
matrix (Matrix4) 要反轉(zhuǎn)的矩陣。
result (Matrix4) 存儲結(jié)果的對象。
Throws
  • RuntimeError : 矩陣不可逆,因為它的確定度為零。
(static) inverseTransformation(matrix, result) → {Matrix4}
假設(shè)所提供的矩陣是仿射變換矩陣,其中左上3x3元素是旋轉(zhuǎn)矩陣,第四列中的上三個元素是平移,則計算所提供矩陣的逆矩陣。假定底行為[0,0,0,1]。未驗證矩陣的形式是否正確。此方法比使用Matrix4.inverse計算一般4x4矩陣的逆矩陣更快。
Parameters:
matrix (Matrix4) 要反轉(zhuǎn)的矩陣。
result (Matrix4) 存儲結(jié)果的對象。
(static) multiply(left, right, result) → {Matrix4}
計算兩個矩陣的乘積。
Parameters:
left (Matrix4) 第一個矩陣。
right (Matrix4) 第二個矩陣。
result (Matrix4) 存儲結(jié)果的對象。
(static) multiplyByMatrix3(matrix, rotation, result) → {Matrix4}
將轉(zhuǎn)換矩陣(底行為[0.0, 0.0, 0.0, 1.0])乘以3x3旋轉(zhuǎn)矩陣。這是針對Matrix4.multiply(m, Matrix4.fromRotationTranslation(rotation), m);的優(yōu)化,具有較少的分配和算術(shù)運算。
Parameters:
matrix (Matrix4) 左邊的矩陣。
rotation (Matrix3) 右側(cè)的3x3旋轉(zhuǎn)矩陣。
result (Matrix4) 存儲結(jié)果的對象。
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調(diào)用Matrix4.multiplyByVector,組件w為1,但返回一個Cartesian3而不是一個Cartesian4。
Parameters:
matrix (Matrix4) 矩陣。
cartesian (Cartesian3) 重點。
result (Cartesian3) 存儲結(jié)果的對象。
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調(diào)用Matrix4.multiplyByVector,其中w組件為零。
Parameters:
matrix (Matrix4) 矩陣。
cartesian (Cartesian3) 重點。
result (Cartesian3) 存儲結(jié)果的對象。
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) 要乘以的數(shù)字。
result (Matrix4) 存儲結(jié)果的對象。
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);的優(yōu)化,其中m必須是仿射矩陣。此函數(shù)執(zhí)行的分配和算術(shù)運算更少。
Parameters:
matrix (Matrix4) 左邊的仿射矩陣。
scale (Cartesian3) 右側(cè)的不均勻刻度。
result (Matrix4) 存儲結(jié)果的對象。
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}
將轉(zhuǎn)換矩陣(底行為[0.0, 0.0, 0.0, 1.0])乘以由Cartesian3定義的隱式轉(zhuǎn)換矩陣。這是針對Matrix4.multiply(m, Matrix4.fromTranslation(position), m);的優(yōu)化,分配和算術(shù)運算更少。
Parameters:
matrix (Matrix4) 左邊的矩陣。
translation (Cartesian3) 右邊的譯文。
result (Matrix4) 存儲結(jié)果的對象。
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);的優(yōu)化,其中m必須是仿射矩陣。此函數(shù)執(zhí)行的分配和算術(shù)運算更少。
Parameters:
matrix (Matrix4) 左邊的仿射矩陣。
scale (Number) 右手邊的統(tǒng)一比例。
result (Matrix4) 存儲結(jié)果的對象。
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) 存儲結(jié)果的對象。
(static) multiplyTransformation(left, right, result) → {Matrix4}
假設(shè)兩個矩陣是仿射變換矩陣,其中左上3x3元素是旋轉(zhuǎn)矩陣,第四列中的上三個元素是平移,則計算兩個矩陣的乘積。假定底行為[0,0,0,1]。未驗證矩陣的形式是否正確。此方法比使用Matrix4.multiply計算一般4x4矩陣的產(chǎn)品更快。
Parameters:
left (Matrix4) 第一個矩陣。
right (Matrix4) 第二個矩陣。
result (Matrix4) 存儲結(jié)果的對象。
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) 存儲結(jié)果的對象。
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>}
將提供的實例存儲到提供的數(shù)組中。
Parameters:
value (Matrix4) 要打包的值。
array (Array.<Number>) 要打包的數(shù)組。
startingIndex (Number) (default 0) 數(shù)組中開始打包元素的索引。
(static) setColumn(matrix, index, cartesian, result) → {Matrix4}
計算用提供的cartesian4實例替換所提供矩陣中指定列的新矩陣。
Parameters:
matrix (Matrix4) 要使用的矩陣。
index (Number) 要設(shè)置的列的從零開始的索引。
cartesian (Cartesian4) 值將分配給指定列的笛卡爾。
result (Matrix4) 存儲結(jié)果的對象。
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) 要設(shè)置的行的從零開始的索引。
cartesian (Cartesian4) 值將分配給指定行的笛卡爾。
result (Matrix4) 存儲結(jié)果的對象。
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}
計算用提供的比例替換比例的新矩陣。假設(shè)矩陣是仿射變換。
Parameters:
matrix (Matrix4) 要使用的矩陣。
scale (Cartesian3) 替換所提供矩陣的小數(shù)位數(shù)的小數(shù)位數(shù)。
result (Matrix4) 存儲結(jié)果的對象。
(static) setTranslation(matrix, translation, result) → {Matrix4}
計算一個新的矩陣,用所提供的翻譯替換所提供矩陣最右列中的翻譯。假設(shè)矩陣是仿射變換。
Parameters:
matrix (Matrix4) 要使用的矩陣。
translation (Cartesian3) 替換所提供矩陣的翻譯的翻譯。
result (Matrix4) 存儲結(jié)果的對象。
(static) subtract(left, right, result) → {Matrix4}
計算兩個矩陣的差。
Parameters:
left (Matrix4) 第一個矩陣。
right (Matrix4) 第二個矩陣。
result (Matrix4) 存儲結(jié)果的對象。
(static) toArray(matrix, result) → {Array.<Number>}
從提供的Matrix4實例計算數(shù)組。數(shù)組將按列主順序排列。
Parameters:
matrix (Matrix4) 要使用的矩陣。
result (Array.<Number>) 存儲結(jié)果的數(shù)組。
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}
計算所提供矩陣的轉(zhuǎn)置。
Parameters:
matrix (Matrix4) 要轉(zhuǎn)置的矩陣。
result (Matrix4) 存儲結(jié)果的對象。
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}
從壓縮數(shù)組中檢索實例。
Parameters:
array (Array.<Number>) 壓縮數(shù)組。
startingIndex (Number) (default 0) 要解包的元素的起始索引。
result (Matrix4) 存儲結(jié)果的對象。
主站蜘蛛池模板: 毛片视频免费观看 | 久久久一级| 激情啪啪网 | 色婷婷亚洲 | 一级全黄毛片 | 黄色中文视频 | 久久免费国产精品 | 免费日韩欧美 | 一级日韩 | 日韩成人综合网 | 91亚洲免费 | 在线免费观看黄网 | 久久久精品国 | 国产精品欧美日韩 | 日本在线中文 | 91视频入口| 亚洲一区二区三区四区在线观看 | 茄子成人看a∨片免费软件 青草av.久久免费一区 | av男人的天堂网 | 国产日韩网站 | 亚洲精品无圣光一区二区 | 国产日韩在线 | 日韩黄色av电影 | 午夜成人在线视频 | 先锋影音av在线 | 日本免费精品视频 | 国产成在线观看免费视频 | 国产免费又色又爽又黄在线观看 | 国产在线1区 | 国产日本欧美在线 | 欧美黑人性xxx | 国产成人综合一区二区三区 | 日本不卡视频在线观看 | 黄页在线免费观看 | 亚洲成人欧美 | 就操网 | 久久精品aaaaaa毛片 | 在线免费看黄网站 | 亚洲精品成人 | 一级观看免费完整版视频 | 91精品国 |