Matrix3D 構造体

定義

3-D 空間での変換に使用される 4 x 4 行列を表します。Represents a 4 x 4 matrix used for transformations in 3-D space.

public value class Matrix3D : IFormattable
[System.ComponentModel.TypeConverter(typeof(System.Windows.Media.Media3D.Matrix3DConverter))]
[System.Serializable]
public struct Matrix3D : IFormattable
type Matrix3D = struct
    interface IFormattable
Public Structure Matrix3D
Implements IFormattable
継承
Matrix3D
属性
実装

// Multiplies a Vector3D by a Matrix3D using the static Multiply method.  
// Returns a Vector3D.

Vector3D vector1 = new Vector3D(20, 30, 40);
Matrix3D matrix1 = new Matrix3D(10, 10, 10, 0, 20, 20, 20, 0, 30, 30, 30, 0, 5, 10, 15, 1);
Vector3D vectorResult = new Vector3D();

vectorResult = Vector3D.Multiply(vector1,matrix1);
// vector Result is equal to (2000, 2000, 2000)
' Multiplies a Vector3D by a Matrix3D using the static Multiply method.  
' Returns a Vector3D.

Dim vector1 As New Vector3D(20, 30, 40)
Dim matrix1 As New Matrix3D(10, 10, 10, 0, 20, 20, 20, 0, 30, 30, 30, 0, 5, 10, 15, 1)
Dim vectorResult As New Vector3D()

vectorResult = Vector3D.Multiply(vector1,matrix1)
' vector Result is equal to (2000, 2000, 2000)

注釈

Matrix3D の行ベクター構文は次のとおりです。Matrix3D has the following row-vector syntax:

M11 M12 M13 M14
M21 M22 M23 M24
M31 M32 M33 M34
OffsetX OffsetY OffsetZ M44

4番目の列にもアクセスできるため、マトリックスを使用すると、開発者はアフィン変換と非アフィン変換を表すことができます。Note that because the fourth column is also accessible, the matrix allows developers to represent affine as well as non-affine transforms.

マトリックスは、他のマトリックスに追加することも、前に付加することもできます。Matrices can be appended or prepended to other matrices. マトリックス B へのマトリックス A の追加は、B によって変換された後、次のようになります。Appending matrix A to matrix B denotes a transformation by B and then by A:

XAML 属性の使用方法XAML Attribute Usage

<object property="m11, m12, m13, m21, m22, m23, m31, m32, m33, offsetX, offsetY, offsetZ"/>  
- or -  
<object property="Identity"/>  

XAML 値XAML Values

M11M11
System.Double

この @no__t の最初の行の最初の列の値は-0 です。The value in the first row and first column of this Matrix3D. 詳細については、M11 プロパティを参照してください。For more information, see the M11 property.

M12M12
System.Double

この @no__t の第1行、第2列の値は-0 です。The value in the first row and second column of this Matrix3D. 詳細については、M12 プロパティを参照してください。For more information, see the M12 property.

M13M13
System.Double

この @no__t の第1行、第3列の値は-0 です。The value in the first row and third column of this Matrix3D. 詳細については、M13 プロパティを参照してください。For more information, see the M13 property.

M14M14
System.Double

この @no__t の第1行、第4列の値は-0 です。The value in the first row and fourth column of this Matrix3D. 詳細については、M14 プロパティを参照してください。For more information, see the M14 property.

M21M21
System.Double

この @no__t の第2行、第1列の値は-0 です。The value in the second row and first column of this Matrix3D. 詳細については、M21 プロパティを参照してください。For more information, see the M21 property.

M22M22
System.Double

この @no__t の2番目の行の2番目の列の値は-0 です。The value in the second row and second column of this Matrix3D. 詳細については、M22 プロパティを参照してください。For more information, see the M22 property.

M23M23
System.Double

この @no__t の第2行、第3列の値は-0 です。The value in the second row and third column of this Matrix3D. 詳細については、M23 プロパティを参照してください。For more information, see the M23 property.

M24M24
System.Double

この @no__t の第2行、第4列の値は-0 です。The value in the second row and fourth column of this Matrix3D. 詳細については、M24 プロパティを参照してください。For more information, see the M24 property.

M31M31
System.Double

この @no__t の第3行、第1列の値は-0 です。The value in the third row and first column of this Matrix3D. 詳細については、M31 プロパティを参照してください。For more information, see the M31 property.

M32M32
System.Double

この @no__t の第3行、第2列の値は-0 です。The value in the third row and second column of this Matrix3D. 詳細については、M32 プロパティを参照してください。For more information, see the M32 property.

M33M33
System.Double

この @no__t の3番目の行の3番目の列の値は、-0 です。The value in the third row and third column of this Matrix3D. 詳細については、M34 プロパティを参照してください。For more information, see the M34 property.

M34M34
System.Double

この @no__t の第3行、第4列の値は-0 です。The value in the third row and fourth column of this Matrix3D. 詳細については、M33 プロパティを参照してください。For more information, see the M33 property.

M44M44
System.Double

この @no__t の第4行、第4列の値は-0 です。The value in the fourth row and fourth column of this Matrix3D. 詳細については、M44 プロパティを参照してください。For more information, see the M44 property.

offsetXoffsetX
System.Double

この @no__t の第4行、第1列の値は-0 です。The value in the fourth row and first column of this Matrix3D. 詳細については、OffsetX プロパティを参照してください。For more information, see the OffsetX property.

offsetYoffsetY
System.Double

この @no__t の第4行、第2列の値は-0 です。The value in the fourth row and second column of this Matrix3D. 詳細については、OffsetY プロパティを参照してください。For more information, see the OffsetY property.

offsetZoffsetZ
System.Double

この @no__t の第4行、第3列の値は-0 です。The value in the fourth row and third column of this Matrix3D. 詳細については、OffsetZ プロパティを参照してください。For more information, see the OffsetZ property.

コンストラクター

Matrix3D(Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double)

行列の初期値を設定するコンストラクター。Constructor that sets matrix's initial values.

プロパティ

Determinant

この Matrix3D 構造体の行列式を取得します。Retrieves the determinant of this Matrix3D structure.

HasInverse

この Matrix3D が反転可能かどうかを示す値を取得します。Gets a value that indicates whether this Matrix3D is invertible.

Identity

Matrix3D 構造体を恒等 Matrix3D に変更します。Changes a Matrix3D structure into an identity Matrix3D.

IsAffine

この Matrix3D 構造体がアフィンかどうかを示す値を取得します。Gets a value that indicates whether this Matrix3D structure is affine.

IsIdentity

この Matrix3D 構造体が恒等 Matrix3D であるかどうかを確認します。Determines whether this Matrix3D structure is an identity Matrix3D.

M11

この Matrix3D 構造体の第 1 行、第 1 列の値を取得または設定します。Gets or sets the value of the first row and first column of this Matrix3D structure.

M12

この Matrix3D 構造体の第 1 行、第 2 列の値を取得または設定します。Gets or sets the value of the first row and second column of this Matrix3D structure.

M13

この Matrix3D 構造体の第 1 行、第 3 列の値を取得または設定します。Gets or sets the value of the first row and third column of this Matrix3D structure.

M14

この Matrix3D 構造体の第 1 行、第 4 列の値を取得または設定します。Gets or sets the value of the first row and fourth column of this Matrix3D structure.

M21

この Matrix3D 構造体の第 2 行、第 1 列の値を取得または設定します。Gets or sets the value of the second row and first column of this Matrix3D structure.

M22

この Matrix3D 構造体の第 2 行、第 2 列の値を取得または設定します。Gets or sets the value of the second row and second column of this Matrix3D structure.

M23

この Matrix3D 構造体の第 2 行、第 3 列の値を取得または設定します。Gets or sets the value of the second row and third column of this Matrix3D structure.

M24

この Matrix3D 構造体の第 2 行、第 4 列の値を取得または設定します。Gets or sets the value of the second row and fourth column of this Matrix3D structure.

M31

この Matrix3D 構造体の第 3 行、第 1 列の値を取得または設定します。Gets or sets the value of the third row and first column of this Matrix3D structure.

M32

この Matrix3D 構造体の第 3 行、第 2 列の値を取得または設定します。Gets or sets the value of the third row and second column of this Matrix3D structure.

M33

この Matrix3D 構造体の第 3 行、第 3 列の値を取得または設定します。Gets or sets the value of the third row and third column of this Matrix3D structure.

M34

この Matrix3D 構造体の第 3 行、第 4 列の値を取得または設定します。Gets or sets the value of the third row and fourth column of this Matrix3D structure.

M44

この Matrix3D 構造体の第 4 行、第 4 列の値を取得または設定します。Gets or sets the value of the fourth row and fourth column of this Matrix3D structure.

OffsetX

この Matrix3D 構造体の第 4 行、第 1 列の値を取得または設定します。Gets or sets the value of the fourth row and first column of this Matrix3D structure.

OffsetY

この Matrix3D 構造体の第 4 行、第 2 列の値を取得または設定します。Gets or sets the value of the fourth row and second column of this Matrix3D structure.

OffsetZ

この Matrix3D 構造体の第 4 行、第 3 列の値を取得または設定します。Gets or sets the value of the fourth row and third column of this Matrix3D structure.

メソッド

Append(Matrix3D)

指定した行列を現在の行列に追加します。Appends a specified matrix to the current matrix.

Equals(Matrix3D)

2 つの行列が等しいかどうかをテストします。Tests equality between two matrices.

Equals(Matrix3D, Matrix3D)

2 つの行列が等しいかどうかをテストします。Tests equality between two matrices.

Equals(Object)

2 つの行列が等しいかどうかをテストします。Tests equality between two matrices.

GetHashCode()

この行列のハッシュ コードを返します。Returns the hash code for this matrix.

Invert()

この Matrix3D 構造体を反転します。Inverts this Matrix3D structure.

Multiply(Matrix3D, Matrix3D)

指定した行列を乗算します。Multiplies the specified matrices.

Parse(String)

Matrix3D 構造体の文字列表現を、等価の Matrix3D 構造体に変換します。Converts a string representation of a Matrix3D structure into the equivalent Matrix3D structure.

Prepend(Matrix3D)

指定した行列を現在の行列の前に付加します。Prepends a specified matrix to the current matrix.

Rotate(Quaternion)

回転変換を現在の Matrix3D に追加します。Appends a rotation transform to the current Matrix3D.

RotateAt(Quaternion, Point3D)

指定した Matrix3D を中心にこの Point3D を回転します。Rotates this Matrix3D about the specified Point3D.

RotateAtPrepend(Quaternion, Point3D)

指定した Point3D を中心とした回転を、この Matrix3D 構造体の前に付加します。Prepends a rotation about a specified center Point3D to this Matrix3D structure.

RotatePrepend(Quaternion)

Quaternion で指定された回転を、この Matrix3D 構造体の前に付加します。Prepends a rotation specified by a Quaternion to this Matrix3D structure.

Scale(Vector3D)

指定したスケールの Vector3D を、この Matrix3D 構造体に追加します。Appends the specified scale Vector3D to this Matrix3D structure.

ScaleAt(Vector3D, Point3D)

この Matrix3D 構造体を、指定した Vector3D について指定した Point3D 分だけスケーリングします。Scales this Matrix3D structure by the specified Vector3D about the specified Point3D.

ScaleAtPrepend(Vector3D, Point3D)

指定した Point3D に関する指定したスケール変換を、この Matrix3D 構造体の前に付加します。Prepends the specified scale transformation about the specified Point3D to this Matrix3D structure.

ScalePrepend(Vector3D)

指定したスケールの Vector3D を現在の Matrix3D 構造体の前に付加します。Prepends the specified scale Vector3D to the current Matrix3D structure.

SetIdentity()

この Matrix3D 構造体を恒等行列に変更します。Changes this Matrix3D structure into an identity matrix.

ToString()

この Matrix3D 構造体の文字列表現を作成します。Creates a string representation of this Matrix3D structure.

ToString(IFormatProvider)

この Matrix3D 構造体の文字列表現を作成します。Creates a string representation of this Matrix3D structure.

Transform(Point3D)

指定した Point3DMatrix3D で変換し、その結果を返します。Transforms the specified Point3D by the Matrix3D and returns the result.

Transform(Point3D[])

配列内の指定した Point3D オブジェクトを Matrix3D で変換します。Transforms the specified Point3D objects in the array by the Matrix3D.

Transform(Point4D)

指定した Point4DMatrix3D で変換し、その結果を返します。Transforms the specified Point4D by the Matrix3D and returns the result.

Transform(Point4D[])

配列内の指定した Point4D オブジェクトを Matrix3D で変換し、その結果を返します。Transforms the specified Point4D objects in the array by the Matrix3D and returns the result.

Transform(Vector3D)

指定した Vector3D を、この Matrix3D で変換します。Transforms the specified Vector3D by this Matrix3D.

Transform(Vector3D[])

配列内の指定した Vector3D オブジェクトを、この Matrix3D で変換します。Transforms the specified Vector3D objects in the array by this Matrix3D.

Translate(Vector3D)

指定したオフセットの変換を現在の Matrix3D 構造体に追加します。Appends a translation of the specified offset to the current Matrix3D structure.

TranslatePrepend(Vector3D)

指定したオフセットの変換を、この Matrix3D 構造体の前に付加します。Prepends a translation of the specified offset to this Matrix3D structure.

演算子

Equality(Matrix3D, Matrix3D)

2 つの Matrix3D インスタンスを比較し、完全に等しいかどうかを確認します。Compares two Matrix3D instances for exact equality.

Inequality(Matrix3D, Matrix3D)

2 つの Matrix3D インスタンスを比較し、完全に等しくないかどうかを判断します。Compares two Matrix3D instances for exact inequality.

Multiply(Matrix3D, Matrix3D)

指定した行列を乗算します。Multiplies the specified matrices.

明示的なインターフェイスの実装

IFormattable.ToString(String, IFormatProvider)

指定した書式を使用して、現在のインスタンスの値に書式を付けます。Formats the value of the current instance using the specified format.

適用対象

こちらもご覧ください