files/en-us/web/api/dommatrix/rotateaxisangleself/index.md
{{APIRef("Geometry Interfaces")}}{{AvailableInWorkers}}
The rotateAxisAngleSelf() method of the {{domxref("DOMMatrix")}} interface is a transformation method that rotates the source matrix by the given vector and angle, returning the altered matrix.
To rotate a matrix without mutating it, see {{domxref("DOMMatrixReadOnly.rotateAxisAngle()")}}, which creates a new rotated matrix while leaving the original unchanged.
rotateAxisAngleSelf()
rotateAxisAngleSelf(rotX)
rotateAxisAngleSelf(rotX, rotY)
rotateAxisAngleSelf(rotX, rotY, rotZ)
rotateAxisAngleSelf(rotX, rotY, rotZ, angle)
rotX
rotY {{optional_inline}}
rotX value is used. If non-zero, {{domxref("DOMMatrixReadOnly.is2D", "is2D")}} is false.rotZ {{optional_inline}}
rotX value is used.angle {{optional_inline}}
If rotY and rotZ are both missing, rotZ is set to the value of rotX, and both rotX and rotY are 0.
A DOMMatrix.
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)" */
{{Specifications}}
{{Compat}}
transform attribute