DOMMatrix: rotateAxisAngleSelf() 方法

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2020 年 1 月⁩ 起,所有主流浏览器均已支持。

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

DOMMatrix 接口的 rotateAxisAngleSelf() 方法是一个变换方法,它通过给定的向量和角度来旋转源矩阵,并返回修改后的矩阵。

要旋转矩阵而不对其进行变异,请参阅 DOMMatrixReadOnly.rotateAxisAngle(),它会创建一个新的旋转矩阵,同时保持原始矩阵不变。

语法

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

参数

rotX

一个数字;表示旋转轴的向量的 x 坐标。如果非零,则 is2D 为 false。

rotY 可选

一个数字;表示旋转轴的向量的 y 坐标。如果未定义,则使用 rotX 的值。如果非零,则 is2D 为 false。

rotZ 可选

一个数字;表示旋转轴的向量的 z 坐标。如果未定义,则使用 rotX 的值。

angle 可选

一个数字;绕轴向量旋转的角度(以度为单位)。

如果同时缺少 rotYrotZ,则将 rotZ 设置为 rotX 的值,并且 rotXrotY 都为 0

返回值

一个 DOMMatrix

示例

js
const matrix = new DOMMatrix(); // create a matrix
console.log(matrix.rotateAxisAngleSelf(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.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)" */

规范

规范
Geometry Interfaces Module Level 1
# dom-dommatrix-rotateaxisangleself

浏览器兼容性

另见