次の方法で共有


float4x4 構造体

3D 変換に使用される 4 x 4 マトリックス。

このマトリックス型では、行ベクトル レイアウトが使用されます。 この行列の翻訳ベクトルの x、y、z は、フィールド m41、m42、m43 に対応します。

この型は C++ でのみ使用できます。 それに相当する .NET は System.Numerics.Matrix4x4 です

コンストラクター

名前 説明
float4x4() 初期化されていない 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) 指定した値を持つ float4x4 を作成します。
explicit float4x4(float3x2 value) float3x2 から float4x4 を作成します。
float4x4(Microsoft::?Graphics::?Canvas::?Numerics::?Matrix4x4 const& value) Microsoft.Graphics.Canvas.Numerics.Matrix4x4 を float4x4 に変換します。

機能

名前 説明
float4x4 make_float4x4_billboard(float3 const& objectPosition, float3 const& cameraPosition, float3 const& cameraUpVector, float3 const& cameraForwardVector) 右利きの座標系を使用して、指定したオブジェクトの位置を中心に回転する球面ビルボードを作成します。
float4x4 make_float4x4_?constrained_billboard(float3 const& objectPosition, float3 const& cameraPosition, float3 const& rotateAxis, float3 const& cameraForwardVector, float3 const& objectForwardVector) 右側の座標系を使用して、指定した軸を中心に回転する円柱状のビルボードを作成します。
float4x4 make_float4x4_translation(float3 const& position) 平行移動行列を作成します。
float4x4 make_float4x4_translation(float xPosition, float yPosition, float zPosition) 平行移動行列を作成します。
float4x4 make_float4x4_scale(float xScale, float yScale, float zScale) 原点を中心にしてスケーリング マトリックスを作成します。
float4x4 make_float4x4_scale(float xScale, float yScale, float zScale, float3 const& centerPoint) 指定したポイントの中央にスケーリング マトリックスを作成します。
float4x4 make_float4x4_scale(float3 const& scales) 原点を中心にしてスケーリング マトリックスを作成します。
float4x4 make_float4x4_scale(float3 const& scales, float3 const& centerPoint) 指定したポイントの中央にスケーリング マトリックスを作成します。
float4x4 make_float4x4_scale(float scale) 原点を中心にしてスケーリング マトリックスを作成します。
float4x4 make_float4x4_scale(float scale, float3 const& centerPoint) 指定したポイントの中央にスケーリング マトリックスを作成します。
float4x4 make_float4x4_rotation_x(float radians) 原点の中央に x 軸の回転行列を作成します。
float4x4 make_float4x4_rotation_x(float radians, float3 const& centerPoint) 指定した点の中央に x 軸の回転行列を作成します。
float4x4 make_float4x4_rotation_y(float radians) 原点を中心とする y 軸の回転行列を作成します。
float4x4 make_float4x4_rotation_y(float radians, float3 const& centerPoint) 指定した点の中央に y 軸の回転行列を作成します。
float4x4 make_float4x4_rotation_z(float radians) 原点を中心に Z 軸の回転行列を作成します。
float4x4 make_float4x4_rotation_z(float radians, float3 const& centerPoint) 指定した点の中央に z 軸の回転行列を作成します。
float4x4 make_float4x4_from_axis_angle(float3 const& axis, float angle) 任意のベクトルを中心とした回転を表す行列を作成します。
float4x4 make_float4x4_perspective_field_of_view(float fieldOfView, float aspectRatio, float nearPlaneDistance, float farPlaneDistance) 右側の座標系を使用して、視野に基づいてパースペクティブ 投影行列を作成します。
float4x4 make_float4x4_perspective(float width, float height, float nearPlaneDistance, float farPlaneDistance) 右利きの座標系を使用して、パースペクティブ 投影行列を作成します。
float4x4 make_float4x4_perspective_off_center(float left, float right, float bottom, float top, float nearPlaneDistance, float farPlaneDistance) 右側の座標系を使用して、カスタマイズされたパースペクティブ投影行列を作成します。
float4x4 make_float4x4_orthographic(float width, float height, float zNearPlane, float zFarPlane) 右辺座標系を使用して、正投影行列を作成します。
float4x4 make_float4x4_?orthographic_off_center(float left, float right, float bottom, float top, float zNearPlane, float zFarPlane) 右側の座標系を使用して、カスタマイズされた正投影行列を作成します。
float4x4 make_float4x4_look_at(float3 const& cameraPosition, float3 const& cameraTarget, float3 const& cameraUpVector) 右利きの座標系を使用して、ビュー マトリックスを作成します。
float4x4 make_float4x4_world(float3 const& position, float3 const& forward, float3 const& up) 右利きの座標系を使用して、ワールド マトリックスを作成します。 これは、オブジェクトを 3D 空間に配置するために使用できます。
float4x4 make_float4x4_from_quaternion(quaternion const& quaternion) 四元数から回転行列を作成します。
float4x4 make_float4x4_from_yaw_pitch_roll(float yaw, float pitch, float roll) 指定したヨー、ピッチ、ロールから回転行列を作成します。
float4x4 make_float4x4_shadow(float3 const& lightDirection, plane const& plane) 指定された光源から影を落とす方法による、指定した平面への幾何射影の行列を作成します。
float4x4 make_float4x4_reflection(plane const& value) 指定した平面についての座標系反射を表す行列を作成します。
bool is_identity(float4x4 const& value) これが ID マトリックスであるかどうかを確認します。
float determinant(float4x4 const& value) 行列の決定要因を計算します。
float3 translation(float4x4 const& value) 行列の変換ベクトルを取得します。
bool invert(float4x4 const& matrix, _Out_ float4x4* result) 行列の逆関数を計算します。 行列を反転できる場合は true を返します。それ以外の場合は false。
bool decompose(float4x4 const& matrix, _Out_ float3* scale, _Out_ quaternion* rotation, _Out_ float3* translation) 3D スケール/回転/平行移動 (SRT) マトリックスからスカラー、平行移動、回転コンポーネントを抽出します。 行列を分解できる場合は true を返します。それ以外の場合は false。
float4x4 transform(float4x4 const& value, quaternion const& rotation) 四元数の回転を適用して行列を変換します。
float4x4 transpose(float4x4 const& matrix) 対角線に沿って行列の成分を入れ替えます。
float4x4 lerp(float4x4 const& matrix1, float4x4 const& matrix2, float amount) 2 つの行列の対応する値間を線形補間します。

メソッド

名前 説明
static float4x4 identity() ID マトリックスのインスタンスを返します。

演算子

名前 説明
float4x4 operator+ (float4x4 const& value1, float4x4 const& value2) マトリックスの各コンポーネントを別のマトリックスに追加します。
float4x4 operator- (float4x4 const& value1, float4x4 const& value2) 別の行列から行列の各成分を減算します。
float4x4 operator* (float4x4 const& value1, float4x4 const& value2) 行列を別の行列で乗算します。 これは、2 つの変換を連結する効果があります。
float4x4 operator* (float4x4 const& value1, float value2) マトリックスの各コンポーネントにスカラー値を乗算します。
float4x4 operator- (float4x4 const& value) マトリックスの各コンポーネントを否定します。
float4x4& operator+= (float4x4& value1, float4x4 const& value2) インプレースでは、マトリックスの各コンポーネントが別のマトリックスに追加されます。
float4x4& operator-= (float4x4& value1, float4x4 const& value2) インプレースでは、別の行列から行列の各成分を減算します。
float4x4& operator*= (float4x4& value1, float4x4 const& value2) インプレースでは、行列に別の行列を乗算します。 これは、2 つの変換を連結する効果があります。
float4x4& operator*= (float4x4& value1, float value2) インプレースでは、行列の各コンポーネントにスカラー値を乗算します。
bool operator== (float4x4 const& value1, float4x4 const& value2) float4x4 の 2 つのインスタンスが等しいかどうかを判断します。
bool operator!= (float4x4 const& value1, float4x4 const& value2) float4x4 の 2 つのインスタンスが等しくないかどうかを判断します。
operator Microsoft::?Graphics::?Canvas::?Numerics::?Matrix4x4() const float4x4 を Microsoft.Graphics.Canvas.Numerics.Matrix4x4 に変換します。

フィールド

名前 説明
float m11 行列の行 1 列 1 の値。
float m12 行列の行 1 列 2 の値。
float m13 行列の行 1 列 3 の値。
float m14 行列の行 1 列 4 の値。
float m21 行列の行 2 列 1 の値。
float m22 行列の行 2 列 2 の値。
float m23 行列の行 2 列 3 の値。
float m24 行列の行 2 列 4 の値。
float m31 行列の行 3 列 1 の値。
float m32 行列の行 3 列 2 の値。
float m33 行列の行 3 列 3 の値。
float m34 行列の行 3 列 4 の値。
float m41 行列の行 4 列 1 の値。
float m42 行列の行 4 列 2 の値。
float m43 行列の行 4 列 3 の値。
float m44 行列の行 4 列 4 の値。

要件

要件
名前空間 Windows::Foundation::Numerics
ヘッダー
Windowsnumerics.h

関連項目

windowsnumerics.h API