Share via


float4x4-Struktur

Eine 4x4-Matrix, die für 3D-Transformationen verwendet wird.

Dieser Matrixtyp verwendet ein Zeilenvektorlayout. Das x, y und z des Übersetzungsvektors dieser Matrix entspricht den Feldern m41, m42, m43.

Dieser Typ ist nur in C++ verfügbar. Seine .NET-Entsprechung ist System.Numerics.Matrix4x4.

Konstruktoren

Name BESCHREIBUNG
float4x4() Erstellt eine nicht initialisierte float4x4.
float4x4(float m11, float m12, float m13, float m14, float m21, float m22, float m23, float m24, float m31, float m32, float m33, float m34, float m41, float m42, float m43, float m44) Erstellt eine float4x4 mit den angegebenen Werten.
explicit float4x4(float3x2 value) Erstellt eine float4x4 aus einer float3x2-Datei.
float4x4(Microsoft::?Graphics::?Canvas::?Numerics::?Matrix4x4 const& value) Konvertiert eine Microsoft.Graphics.Canvas.Numerics.Matrix4x4 in eine float4x4.

Functions

Name BESCHREIBUNG
float4x4 make_float4x4_billboard(float3 const& objectPosition, float3 const& cameraPosition, float3 const& cameraUpVector, float3 const& cameraForwardVector) Erstellt eine sphärische Werbetafel, die sich mithilfe eines rechtshändigen Koordinatensystems um eine angegebene Objektposition dreht.
float4x4 make_float4x4_?constrained_billboard(float3 const& objectPosition, float3 const& cameraPosition, float3 const& rotateAxis, float3 const& cameraForwardVector, float3 const& objectForwardVector) Erstellt eine zylindrische Werbetafel, die sich mithilfe eines rechtshändigen Koordinatensystems um eine angegebene Achse dreht.
float4x4 make_float4x4_translation(float3 const& position) Erstellt eine Translationsmatrix.
float4x4 make_float4x4_translation(float xPosition, float yPosition, float zPosition) Erstellt eine Translationsmatrix.
float4x4 make_float4x4_scale(float xScale, float yScale, float zScale) Erstellt eine Skalierungsmatrix, die auf dem Ursprung zentriert ist.
float4x4 make_float4x4_scale(float xScale, float yScale, float zScale, float3 const& centerPoint) Erstellt eine Skalierungsmatrix, die auf dem angegebenen Punkt zentriert ist.
float4x4 make_float4x4_scale(float3 const& scales) Erstellt eine Skalierungsmatrix, die auf dem Ursprung zentriert ist.
float4x4 make_float4x4_scale(float3 const& scales, float3 const& centerPoint) Erstellt eine Skalierungsmatrix, die auf dem angegebenen Punkt zentriert ist.
float4x4 make_float4x4_scale(float scale) Erstellt eine Skalierungsmatrix, die auf dem Ursprung zentriert ist.
float4x4 make_float4x4_scale(float scale, float3 const& centerPoint) Erstellt eine Skalierungsmatrix, die auf dem angegebenen Punkt zentriert ist.
float4x4 make_float4x4_rotation_x(float radians) Erstellt eine X-Achsen-Drehungsmatrix, die auf dem Ursprung zentriert ist.
float4x4 make_float4x4_rotation_x(float radians, float3 const& centerPoint) Erstellt eine X-Achsen-Drehungsmatrix, die auf dem angegebenen Punkt zentriert ist.
float4x4 make_float4x4_rotation_y(float radians) Erstellt eine Y-Achsen-Drehungsmatrix, die auf dem Ursprung zentriert ist.
float4x4 make_float4x4_rotation_y(float radians, float3 const& centerPoint) Erstellt eine Y-Achsen-Drehungsmatrix, die auf dem angegebenen Punkt zentriert ist.
float4x4 make_float4x4_rotation_z(float radians) Erstellt eine Z-Achsen-Drehungsmatrix, die auf dem Ursprung zentriert ist.
float4x4 make_float4x4_rotation_z(float radians, float3 const& centerPoint) Erstellt eine Z-Achsen-Drehungsmatrix, die auf dem angegebenen Punkt zentriert ist.
float4x4 make_float4x4_from_axis_angle(float3 const& axis, float angle) Erstellt eine Matrix, die um einen beliebigen Vektor rotiert.
float4x4 make_float4x4_perspective_field_of_view(float fieldOfView, float aspectRatio, float nearPlaneDistance, float farPlaneDistance) Erstellt eine perspektivische Projektionsmatrix basierend auf einem Sichtfeld mit einem rechtshändigen Koordinatensystem.
float4x4 make_float4x4_perspective(float width, float height, float nearPlaneDistance, float farPlaneDistance) Erstellt eine perspektivische Projektionsmatrix mit einem rechtshändigen Koordinatensystem.
float4x4 make_float4x4_perspective_off_center(float left, float right, float bottom, float top, float nearPlaneDistance, float farPlaneDistance) Erstellt eine angepasste perspektivische Projektionsmatrix mit einem rechtshändigen Koordinatensystem.
float4x4 make_float4x4_orthographic(float width, float height, float zNearPlane, float zFarPlane) Erstellt eine orthografische Projektionsmatrix mithilfe eines rechtshändigen Koordinatensystems.
float4x4 make_float4x4_?orthographic_off_center(float left, float right, float bottom, float top, float zNearPlane, float zFarPlane) Erstellt eine benutzerdefinierte orthographische Projektionsmatrix mit einem rechtshändigen Koordinatensystem.
float4x4 make_float4x4_look_at(float3 const& cameraPosition, float3 const& cameraTarget, float3 const& cameraUpVector) Erstellt eine Ansichtsmatrix mit einem rechtshändigen Koordinatensystem.
float4x4 make_float4x4_world(float3 const& position, float3 const& forward, float3 const& up) Erstellt eine Weltmatrix mit einem rechtshändigen Koordinatensystem. Dies kann verwendet werden, um Objekte im 3D-Raum zu positionieren.
float4x4 make_float4x4_from_quaternion(quaternion const& quaternion) Erstellt eine Rotationsmatrix aus einer Quaternion.
float4x4 make_float4x4_from_yaw_pitch_roll(float yaw, float pitch, float roll) Erstellt eine Drehungsmatrix aus einem angegebenen Gieren, einer angegebenen Neigung und einer bestimmten Rolle.
float4x4 make_float4x4_shadow(float3 const& lightDirection, plane const& plane) Erstellt eine Matrix, die Geometrie auf einer angegebenen Ebene flach darstellt, als ob eine angegebene Lichtquelle einen Schatten wirft.
float4x4 make_float4x4_reflection(plane const& value) Erstellt eine Matrix, die das Koordinatensystem auf einer angegebenen Ebene wiedergibt.
bool is_identity(float4x4 const& value) Überprüft, ob es sich um eine Identitätsmatrix handelt.
float determinant(float4x4 const& value) Berechnet die Determinante der Matrix.
float3 translation(float4x4 const& value) Ruft den Übersetzungsvektor der Matrix ab.
bool invert(float4x4 const& matrix, _Out_ float4x4* result) Berechnet die Umkehrung einer Matrix. Gibt true zurück, wenn die Matrix invertiert werden kann. Andernfalls false.
bool decompose(float4x4 const& matrix, _Out_ float3* scale, _Out_ quaternion* rotation, _Out_ float3* translation) Extrahiert die Skalar-, Übersetzungs- und Drehungskomponenten aus einer SRT-Matrix (3D Scale/Rotate/Translate). Gibt true zurück, wenn die Matrix zerlegt werden kann. Andernfalls false.
float4x4 transform(float4x4 const& value, quaternion const& rotation) Transformiert eine Matrix durch Anwenden einer Quaternionsrotation.
float4x4 transpose(float4x4 const& matrix) Transponiert die Komponenten einer Matrix entlang ihrer Diagonale.
float4x4 lerp(float4x4 const& matrix1, float4x4 const& matrix2, float amount) Interpoliert linear zwischen den entsprechenden Werten von zwei Matrizen.

Methoden

Name BESCHREIBUNG
static float4x4 identity() Gibt einen instance der Identitätsmatrix zurück.

Operatoren

Name BESCHREIBUNG
float4x4 operator+ (float4x4 const& value1, float4x4 const& value2) Fügt jede Komponente einer Matrix einer anderen Matrix hinzu.
float4x4 operator- (float4x4 const& value1, float4x4 const& value2) Subtrahiert jede Komponente einer Matrix von einer anderen Matrix.
float4x4 operator* (float4x4 const& value1, float4x4 const& value2) Multipliziert eine Matrix mit einer anderen Matrix. Dies hat den Effekt, dass zwei Transformationen verkettet werden.
float4x4 operator* (float4x4 const& value1, float value2) Multipliziert jede Komponente einer Matrix mit einem Skalarwert.
float4x4 operator- (float4x4 const& value) Negiert jede Komponente einer Matrix.
float4x4& operator+= (float4x4& value1, float4x4 const& value2) In-situ fügt jede Komponente einer Matrix einer anderen Matrix hinzu.
float4x4& operator-= (float4x4& value1, float4x4 const& value2) In situ subtrahiert jede Komponente einer Matrix von einer anderen Matrix.
float4x4& operator*= (float4x4& value1, float4x4 const& value2) In-situ multipliziert eine Matrix mit einer anderen Matrix. Dies hat den Effekt, dass zwei Transformationen verkettet werden.
float4x4& operator*= (float4x4& value1, float value2) Direkt multipliziert jede Komponente einer Matrix mit einem Skalarwert.
bool operator== (float4x4 const& value1, float4x4 const& value2) Bestimmt, ob zwei Instanzen von float4x4 gleich sind.
bool operator!= (float4x4 const& value1, float4x4 const& value2) Bestimmt, ob zwei Instanzen von float4x4 ungleich sind.
operator Microsoft::?Graphics::?Canvas::?Numerics::?Matrix4x4() const Konvertiert eine float4x4 in eine Microsoft.Graphics.Canvas.Numerics.Matrix4x4.

Felder

Name BESCHREIBUNG
float m11 Wert in Zeile 1 Spalte 1 der Matrix.
float m12 Wert in Zeile 1 Spalte 2 der Matrix.
float m13 Wert in Zeile 1 Spalte 3 der Matrix.
float m14 Wert in Zeile 1 Spalte 4 der Matrix.
float m21 Wert in Zeile 2 Spalte 1 der Matrix.
float m22 Wert in Zeile 2 Spalte 2 der Matrix.
float m23 Wert in Zeile 2 Spalte 3 der Matrix.
float m24 Wert in Zeile 2 Spalte 4 der Matrix.
float m31 Wert in Zeile 3 Spalte 1 der Matrix.
float m32 Wert in Zeile 3 Spalte 2 der Matrix.
float m33 Wert in Zeile 3 Spalte 3 der Matrix.
float m34 Wert in Zeile 3 Spalte 4 der Matrix.
float m41 Wert in Zeile 4 Spalte 1 der Matrix.
float m42 Wert in Zeile 4 Spalte 2 der Matrix.
float m43 Wert in Zeile 4 Spalte 3 der Matrix.
float m44 Wert in Zeile 4 Spalte 4 der Matrix.

Anforderungen

Anforderung Wert
Namespace Windows::Foundation::Numerics
Header
Windowsnumerics.h

Weitere Informationen

windowsnumerics.h-APIs