DOMMatrixReadOnly: rotateAxisAngle() 方法

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2020 年 1 月⁩ 起,所有主流瀏覽器均已支援。

注意:此功能在 Web Workers 中可用。

DOMMatrixReadOnly 介面的 rotateAxisAngle() 方法會返回一個新的 DOMMatrix 物件,該物件透過將源矩陣繞給定向量和角度進行旋轉而建立。原始矩陣不會被修改。

要旋轉矩陣並直接修改它,請參閱 DOMMatrix.rotateAxisAngleSelf()

語法

js
rotateAxisAngle()
rotateAxisAngle(rotX)
rotateAxisAngle(rotX, rotY)
rotateAxisAngle(rotX, rotY, rotZ)
rotateAxisAngle(rotX, rotY, rotZ, angle)

引數

rotX

一個數字;表示旋轉軸的向量的 x 座標。如果非零,則 is2D 為 false。

rotY 可選

一個數字;表示旋轉軸的向量的 y 座標。如果未定義,則使用 rotX 的值。如果非零,則 is2D 為 false。

rotZ 可選

一個數字;表示旋轉軸的向量的 z 座標。如果未定義,則使用 rotX 的值。

angle 可選

一個數字;圍繞軸向量的旋轉角度,以度為單位。

返回值

一個 DOMMatrix

示例

js
const matrix = new DOMMatrix(); // create a matrix
console.log(matrix.rotateAxisAngle().toString()); // matrix(1, 0, 0, 1, 0, 0)
console.log(matrix.rotateAxisAngle(10, 20, 30).toString()); // matrix(1, 0, 0, 1, 0, 0)
console.log(matrix.rotateAxisAngle(10, 20, 30, 45).toString());
/* matrix3d(
    0.728, 0.609, -0.315, 0, 
    -0.525, 0.791, 0.315, 0, 
    0.441, -0.063, 0.895, 
    0, 0, 0, 0, 1) */
console.log(matrix.rotateAxisAngle(5, 5, 5, -45).toString());
/* matrix3d(
    0.805, -0.311, 0.506, 0, 
    0.506, 0.805, -0.311, 0, 
    -0.311, 0.506, 0.805, 0, 
    0, 0, 0, 1) */
console.log(matrix.toString()); // output: "matrix(1, 0, 0, 1, 0, 0)" (unchanged)

規範

規範
Geometry Interfaces Module Level 1
# dom-dommatrixreadonly-rotateaxisangle

瀏覽器相容性

另見