DOMMatrix

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Das DOMMatrix Interface repräsentiert 4×4 Matrizen, geeignet für 2D- und 3D-Operationen einschließlich Rotation und Translation. Es ist eine veränderbare Version des DOMMatrixReadOnly Interfaces. Dieses Interface ist innerhalb von Web Workern verfügbar.

WebKitCSSMatrix und SVGMatrix sind Aliase für DOMMatrix.

DOMMatrixReadOnly DOMMatrix

Konstruktor

DOMMatrix()

Erstellt und gibt ein neues DOMMatrix Objekt zurück.

Instanz-Eigenschaften

Dieses Interface erbt Eigenschaften von DOMMatrixReadOnly, wobei einige dieser Eigenschaften veränderbar gemacht wurden.

m11, m12, m13, m14, m21, m22, m23, m24, m31, m32, m33, m34, m41, m42, m43, m44

Gleitkommazahlen mit doppelter Genauigkeit, die jeweils eine Komponente einer 4×4-Matrix darstellen, wobei m11 bis m14 die erste Spalte bilden, m21 bis m24 die zweite Spalte und so weiter.

a, b, c, d, e, f

Gleitkommazahlen mit doppelter Genauigkeit, die die Komponenten einer 4×4-Matrix darstellen, die für die Durchführung von 2D-Rotationen und Translationen erforderlich sind. Diese sind Aliase für bestimmte Komponenten einer 4×4-Matrix, wie unten gezeigt.

2D 3D Äquivalent
a m11
b m12
c m21
d m22
e m41
f m42

Instanz-Methoden

Dieses Interface umfasst die folgenden Methoden sowie die Methoden, die es von DOMMatrixReadOnly erbt.

DOMMatrix.invertSelf()

Modifiziert die Matrix, indem sie invertiert wird. Wenn die Matrix nicht invertiert werden kann, werden alle ihre Komponenten auf NaN gesetzt und is2D gibt false zurück.

DOMMatrix.multiplySelf()

Modifiziert die Matrix, indem sie mit der angegebenen DOMMatrix multipliziert wird. Dies entspricht dem Punktprodukt A⋅B, wobei Matrix A die Quellmatrix ist und B die als Eingabe an die Methode gegebene Matrix ist. Gibt sich selbst zurück.

DOMMatrix.preMultiplySelf()

Modifiziert die Matrix, indem sie mit der angegebenen DOMMatrix prä-multipliziert wird. Gibt sich selbst zurück.

DOMMatrix.translateSelf()

Modifiziert die Matrix, indem der angegebenen Vektor angewandt wird. Der Standardvektor ist [0, 0, 0]. Gibt sich selbst zurück.

DOMMatrix.scaleSelf()

Modifiziert die Matrix, indem die angegebenen Skalierungsfaktoren angewandt werden, wobei das Zentrum an der angegebenen Ursprungsposition liegt. Gibt sich ebenfalls zurück. Standardmäßig beträgt der Skalierungsfaktor 1 für alle drei Achsen, und der Ursprung ist (0, 0, 0). Gibt sich selbst zurück.

DOMMatrix.scale3dSelf()

Modifiziert die Matrix, indem der angegebene Skalierungsfaktor auf alle drei Achsen, zentriert am gegebenen Ursprung, angewandt wird. Gibt sich selbst zurück.

DOMMatrix.rotateSelf()

Modifiziert die Matrix, indem sie um jede Achse um die angegebene Gradzahl gedreht wird. Gibt sich selbst zurück.

DOMMatrix.rotateAxisAngleSelf()

Modifiziert die Matrix, indem sie um den angegebenen Winkel um den gegebenen Vektor gedreht wird. Gibt sich selbst zurück.

DOMMatrix.rotateFromVectorSelf()

Modifiziert die Matrix, indem sie um den Winkel zwischen dem angegebenen Vektor und (1, 0) gedreht wird. Gibt sich selbst zurück.

DOMMatrix.setMatrixValue()

Ersetzt den Inhalt der Matrix durch die von der angegebenen Transformation oder den Transformationen beschriebene Matrix. Gibt sich selbst zurück.

DOMMatrix.skewXSelf()

Modifiziert die Matrix, indem die angegebene Schertransformation entlang der X-Achse angewandt wird. Gibt sich selbst zurück.

DOMMatrix.skewYSelf()

Modifiziert die Matrix, indem die angegebene Schertransformation entlang der Y-Achse angewandt wird. Gibt sich selbst zurück.

Statische Methoden

Dieses Interface erbt Methoden von DOMMatrixReadOnly.

fromFloat32Array()

Erstellt ein neues veränderbares DOMMatrix Objekt, das ein Array von Einzelpräzision (32-Bit) Gleitkommazahlen erhält. Wenn das Array sechs Werte enthält, ist das Ergebnis eine 2D-Matrix; enthält es 16 Werte, ist das Ergebnis eine 3D-Matrix. Ansonsten wird eine TypeError Ausnahme ausgelöst.

fromFloat64Array()

Erstellt ein neues veränderbares DOMMatrix Objekt, das ein Array von Doppelpräzision (64-Bit) Gleitkommazahlen erhält. Wenn das Array sechs Werte enthält, ist das Ergebnis eine 2D-Matrix; enthält es 16 Werte, ist das Ergebnis eine 3D-Matrix. Ansonsten wird eine TypeError Ausnahme ausgelöst.

fromMatrix()

Erstellt ein neues veränderbares DOMMatrix Objekt mit einer bestehenden Matrix oder einem Objekt, das die Werte für seine Eigenschaften bereitstellt.

Nutzungshinweise

Die Matrix, die durch das DOMMatrix Interface definiert ist, besteht aus vier Reihen mit jeweils vier Spalten. Obwohl es über den Umfang dieses Artikels hinausgeht, die zugrunde liegende Mathematik zu erklären, ist dieses 4×4 Format ausreichend, um jede Transformation zu beschreiben, die auf entweder 2D- oder 3D-Geometrien angewandt werden könnte.

Hier sind die Positionen der 16 Elemente (m_11 bis m_44), die die 4×4 abstrakte Matrix bilden:

[m11m21m31m41m12m22m32m42m13m23m33m43m14m24m34m44]\left [ \begin{matrix} m_{11} & m_{21} & m_{31} & m_{41} \\ m_{12} & m_{22} & m_{32} & m_{42} \\ m_{13} & m_{23} & m_{33} & m_{43} \\ m_{14} & m_{24} & m_{34} & m_{44} \end{matrix} \right ]

Das DOMMatrix Interface ist dafür konzipiert, dass es für alle Matrizen innerhalb von Markup benutzt wird.

Spezifikationen

Specification
Geometry Interfaces Module Level 1
# DOMMatrix

Browser-Kompatibilität

Siehe auch