Matrix4x4 結構

定義

表示 4x4 矩陣。

public value class Matrix4x4 : IEquatable<System::Numerics::Matrix4x4>
public struct Matrix4x4 : IEquatable<System.Numerics.Matrix4x4>
type Matrix4x4 = struct
Public Structure Matrix4x4
Implements IEquatable(Of Matrix4x4)
繼承
Matrix4x4
實作

備註

對於矩陣變換, Vector2Vector3Vector4 實例以行表示:向量 v 被矩陣 MvM 乘法轉換。

建構函式

名稱 Description
Matrix4x4(Matrix3x2)

從指定的Matrix4x4物件建立一個Matrix3x2物件。

Matrix4x4(Single, Single, Single, Single, Single, Single, Single, Single, Single, Single, Single, Single, Single, Single, Single, Single)

從指定的元件中建立一個 4x4 矩陣。

欄位

名稱 Description
M11

第一排的第一元素。

M12

第一排的第二個元素。

M13

第一排的第三個元素。

M14

第一排的第四個元素。

M21

第二排的第一元素。

M22

第二排的第二個元素。

M23

第二排的第三個元素。

M24

第二排的第四個元素。

M31

第三排的第一元素。

M32

第三排的第二個元素。

M33

第三排的第三個元素。

M34

第三排的第四個元素。

M41

第四排的第一部分。

M42

第四排的第二個元素。

M43

第四排的第三個元素。

M44

第四排的第四個元素。

屬性

名稱 Description
Identity

得到乘法單位矩陣。

IsIdentity

表示當前矩陣是否為單位矩陣。

Item[Int32, Int32]

取得或設定元素在指定的索引位置。

Item[Int32]

取得或設定該列在指定的索引。

Translation

取得或設定此矩陣的平移分量。

W

取得或設定矩陣的第四列。

X

取得或設定矩陣的第一列。

Y

取得或設定矩陣的第二列。

Z

取得或設定矩陣的第三列。

方法

名稱 Description
Add(Matrix4x4, Matrix4x4)

將每個元素與其對應元素相加於第二個矩陣中。

Create(Matrix3x2)

由指定的 Matrix4x4生成 。Matrix3x2

Create(Single, Single, Single, Single, Single, Single, Single, Single, Single, Single, Single, Single, Single, Single, Single, Single)

從指定的元素生成 a Matrix3x2

Create(Single)

建立 Matrix4x4 一個 ,其 16 個元素設定為指定值。

Create(Vector4, Vector4, Vector4, Vector4)

從指定的列建立 a Matrix4x4

Create(Vector4)

建立 Matrix4x4 一個,其四列設定為指定值。

CreateBillboard(Vector3, Vector3, Vector3, Vector3)

會製作一個圍繞指定物件位置旋轉的球形廣告看板。

CreateBillboardLeftHanded(Vector3, Vector3, Vector3, Vector3)

建立一個左旋球形廣告看板矩陣,繞著指定物件位置旋轉。

CreateConstrainedBillboard(Vector3, Vector3, Vector3, Vector3, Vector3)

製作一個繞指定軸旋轉的圓柱形廣告看板。

CreateConstrainedBillboardLeftHanded(Vector3, Vector3, Vector3, Vector3, Vector3)

建立一個左旋圓柱形廣告看板矩陣,繞指定軸旋轉。

CreateFromAxisAngle(Vector3, Single)

會建立一個繞任意向量旋轉的矩陣。

CreateFromQuaternion(Quaternion)

從指定的四元數旋轉值建立旋轉矩陣。

CreateFromYawPitchRoll(Single, Single, Single)

根據指定的偏航、俯仰和滾轉建立旋轉矩陣。

CreateLookAt(Vector3, Vector3, Vector3)

建立一個視圖矩陣。

CreateLookAtLeftHanded(Vector3, Vector3, Vector3)

建立一個左手視圖矩陣。

CreateLookTo(Vector3, Vector3, Vector3)

建立一個右手視圖矩陣。

CreateLookToLeftHanded(Vector3, Vector3, Vector3)

建立一個左手視圖矩陣。

CreateOrthographic(Single, Single, Single, Single)

從給定的視圖體積尺寸建立正交透視矩陣。

CreateOrthographicLeftHanded(Single, Single, Single, Single)

從給定的視圖體積尺寸建立一個左手正交透視矩陣。

CreateOrthographicOffCenter(Single, Single, Single, Single, Single, Single)

建立客製化的正交投影矩陣。

CreateOrthographicOffCenterLeftHanded(Single, Single, Single, Single, Single, Single)

建立一個左手自訂的正交投影矩陣。

CreatePerspective(Single, Single, Single, Single)

從給定的視圖體積尺寸建立透視投影矩陣。

CreatePerspectiveFieldOfView(Single, Single, Single, Single)

根據視野、長寬比及近景與遠視平面距離建立透視投影矩陣。

CreatePerspectiveFieldOfViewLeftHanded(Single, Single, Single, Single)

根據視野、長寬比及近景與遠視平面距離,建立一個左手透視投影矩陣。

CreatePerspectiveLeftHanded(Single, Single, Single, Single)

從給定的視圖體積尺寸建立一個左手透視投影矩陣。

CreatePerspectiveOffCenter(Single, Single, Single, Single, Single, Single)

建立客製化的透視投影矩陣。

CreatePerspectiveOffCenterLeftHanded(Single, Single, Single, Single, Single, Single)

建立一個左手自訂透視投影矩陣。

CreateReflection(Plane)

建立一個矩陣,反映指定平面上的座標系。

CreateRotationX(Single, Vector3)

建立一個矩陣,從中心點繞 X 軸旋轉點。

CreateRotationX(Single)

建立一個繞 X 軸旋轉點的矩陣。

CreateRotationY(Single, Vector3)

從中心點繞 Y 軸旋轉的弧度數值。

CreateRotationY(Single)

建立一個矩陣,用於繞 Y 軸旋轉點。

CreateRotationZ(Single, Vector3)

建立一個矩陣,從中心點繞 Z 軸旋轉點。

CreateRotationZ(Single)

建立繞 Z 軸旋轉點的矩陣。

CreateScale(Single, Single, Single, Vector3)

建立一個縮放矩陣,並以給定中心點為準。

CreateScale(Single, Single, Single)

從指定的 X、Y 和 Z 分量建立縮放矩陣。

CreateScale(Single, Vector3)

建立一個均勻的縮放矩陣,並在每個軸上均等縮放,並設有中心點。

CreateScale(Single)

建立一個均勻的縮放矩陣,且在每個軸上大小相等。

CreateScale(Vector3, Vector3)

建立一個帶有中心點的縮放矩陣。

CreateScale(Vector3)

從指定的向量尺度建立縮放矩陣。

CreateShadow(Vector3, Plane)

建立一個矩陣,將幾何體壓平成指定平面,就像從指定光源投射陰影一樣。

CreateTranslation(Single, Single, Single)

從指定的 X、Y 和 Z 分量建立平移矩陣。

CreateTranslation(Vector3)

從指定的三維向量建立一個平移矩陣。

CreateViewport(Single, Single, Single, Single, Single, Single)

從指定的參數建立一個右手視口矩陣。

CreateViewportLeftHanded(Single, Single, Single, Single, Single, Single)

從指定的參數建立一個左手視口矩陣。

CreateWorld(Vector3, Vector3, Vector3)

建立一個包含指定參數的世界矩陣。

Decompose(Matrix4x4, Vector3, Quaternion, Vector3)

嘗試從給定的尺度、旋轉或平移矩陣中提取尺度、平移與旋轉分量。 回傳值表示操作是否成功。

Equals(Matrix4x4)

回傳一個值,表示此實例與另一個 4x4 矩陣是否相等。

Equals(Object)

回傳一個值,表示此實例與指定物件是否相等。

GetDeterminant()

計算當前 4x4 矩陣的行列式。

GetElement(Int32, Int32)

取得指定的列和欄位的元素。

GetHashCode()

傳回這個實例的哈希碼。

GetRow(Int32)

取得或設定該列在指定的索引。

Invert(Matrix4x4, Matrix4x4)

將指定的矩陣反轉。 回傳值表示操作是否成功。

Lerp(Matrix4x4, Matrix4x4, Single)

根據指定第二個矩陣權重的值,從一個矩陣線性插值到第二個矩陣。

Multiply(Matrix4x4, Matrix4x4)

回傳兩個矩陣相乘所得的矩陣。

Multiply(Matrix4x4, Single)

回傳將指定矩陣中所有元素縮放一個純量因子後產生的矩陣。

Negate(Matrix4x4)

將指定矩陣的所有值乘以 -1 來否定該矩陣。

Subtract(Matrix4x4, Matrix4x4)

從第一矩陣中對應元素減去第二個矩陣中的每個元素。

ToString()

回傳一個代表該矩陣的字串。

Transform(Matrix4x4, Quaternion)

透過應用指定的四元數旋轉來轉換指定的矩陣。

Transpose(Matrix4x4)

將矩陣的行與列置換置。

WithElement(Int32, Int32, Single)

建立一個新 Matrix4x4 Java,將指定列的元素設定為給定值,其餘元素則設定為與當前矩陣相同的值。

WithRow(Int32, Vector4)

建立一個新 Matrix4x4 Java,將指定索引的列設定為給定值,剩餘列則設定為與當前矩陣相同的值。

操作員

名稱 Description
Addition(Matrix4x4, Matrix4x4)

將每個元素與其對應元素相加於第二個矩陣中。

Equality(Matrix4x4, Matrix4x4)

回傳一個表示指定矩陣是否相等的值。

Inequality(Matrix4x4, Matrix4x4)

回傳一個值,表示指定的矩陣是否不相等。

Multiply(Matrix4x4, Matrix4x4)

回傳兩個矩陣相乘所得的矩陣。

Multiply(Matrix4x4, Single)

回傳將指定矩陣中所有元素縮放一個純量因子後產生的矩陣。

Subtraction(Matrix4x4, Matrix4x4)

從第一矩陣中對應元素減去第二個矩陣中的每個元素。

UnaryNegation(Matrix4x4)

將指定矩陣的所有值乘以 -1 來否定該矩陣。

適用於