# Matrix3DMatrix3DMatrix3DMatrix3D Struct

## 정의

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``````
상속
Matrix3DMatrix3DMatrix3DMatrix3D
특성
구현

## 예제

``````// 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

네 번째 열에 액세스할 수도 이기 때문에 행렬을 나타내는 관계 뿐만 아니라 비 관계 변환 개발자를 허용 하는지 note 합니다.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

첫 번째 행과 첫째 열 값 Matrix3D합니다.The value in the first row and first column of this Matrix3D. 자세한 내용은 M11 속성을 참조하세요.For more information, see the M11 property.

M12M12
System.Double

이 첫 번째 행과 둘째 열 값 Matrix3D합니다.The value in the first row and second column of this Matrix3D. 자세한 내용은 M12 속성을 참조하세요.For more information, see the M12 property.

M13M13
System.Double

이 첫 번째 행과 셋째 열에 값 Matrix3D합니다.The value in the first row and third column of this Matrix3D. 자세한 내용은 M13 속성을 참조하세요.For more information, see the M13 property.

M14M14
System.Double

이 첫 번째 행과 넷째 열에 값 Matrix3D합니다.The value in the first row and fourth column of this Matrix3D. 자세한 내용은 M14 속성을 참조하세요.For more information, see the M14 property.

M21M21
System.Double

두 번째 행과 첫째 열 값 Matrix3D합니다.The value in the second row and first column of this Matrix3D. 자세한 내용은 M21 속성을 참조하세요.For more information, see the M21 property.

M22M22
System.Double

이 두 번째 행과 둘째 열 값 Matrix3D합니다.The value in the second row and second column of this Matrix3D. 자세한 내용은 M22 속성을 참조하세요.For more information, see the M22 property.

M23M23
System.Double

이 두 번째 행과 셋째 열에 값 Matrix3D합니다.The value in the second row and third column of this Matrix3D. 자세한 내용은 M23 속성을 참조하세요.For more information, see the M23 property.

M24M24
System.Double

이 두 번째 행과 넷째 열에 값 Matrix3D합니다.The value in the second row and fourth column of this Matrix3D. 자세한 내용은 M24 속성을 참조하세요.For more information, see the M24 property.

M31M31
System.Double

세 번째 행과 첫째 열 값 Matrix3D합니다.The value in the third row and first column of this Matrix3D. 자세한 내용은 M31 속성을 참조하세요.For more information, see the M31 property.

M32M32
System.Double

셋째 행과 둘째 열 값 Matrix3D합니다.The value in the third row and second column of this Matrix3D. 자세한 내용은 M32 속성을 참조하세요.For more information, see the M32 property.

M33M33
System.Double

이 세 번째 행과 셋째 열에 값 Matrix3D합니다.The value in the third row and third column of this Matrix3D. 자세한 내용은 M34 속성을 참조하세요.For more information, see the M34 property.

M34M34
System.Double

이 세 번째 행과 넷째 열에 값 Matrix3D합니다.The value in the third row and fourth column of this Matrix3D. 자세한 내용은 M33 속성을 참조하세요.For more information, see the M33 property.

M44M44
System.Double

넷째 행과 네 번째 열 값 Matrix3D합니다.The value in the fourth row and fourth column of this Matrix3D. 자세한 내용은 M44 속성을 참조하세요.For more information, see the M44 property.

offsetXoffsetX
System.Double

네 번째 행과 첫째 열 값 Matrix3D합니다.The value in the fourth row and first column of this Matrix3D. 자세한 내용은 OffsetX 속성을 참조하세요.For more information, see the OffsetX property.

offsetYoffsetY
System.Double

이 네 번째 행과 둘째 열 값 Matrix3D합니다.The value in the fourth row and second column of this Matrix3D. 자세한 내용은 OffsetY 속성을 참조하세요.For more information, see the OffsetY property.

offsetZoffsetZ
System.Double

이 네 번째 행과 셋째 열에 값 Matrix3D합니다.The value in the fourth row and third column of this Matrix3D. 자세한 내용은 OffsetZ 속성을 참조하세요.For more information, see the OffsetZ property.

## 속성

 Determinant Determinant Determinant Determinant 이 Matrix3D 구조체의 행렬식을 검색합니다.Retrieves the determinant of this Matrix3D structure. HasInverse HasInverse HasInverse HasInverse 이 Matrix3D를 반전할 수 있는지 여부를 나타내는 값을 가져옵니다.Gets a value that indicates whether this Matrix3D is invertible. Identity Identity Identity Identity Matrix3D 구조체를 항등 Matrix3D로 변경합니다.Changes a Matrix3D structure into an identity Matrix3D. IsAffine IsAffine IsAffine IsAffine 이 Matrix3D 구조체가 관계 구조체인지 여부를 나타내는 값을 가져옵니다.Gets a value that indicates whether this Matrix3D structure is affine. IsIdentity IsIdentity IsIdentity IsIdentity 이 Matrix3D 구조체가 항등 Matrix3D인지 여부를 확인합니다.Determines whether this Matrix3D structure is an identity Matrix3D. M11 M11 M11 M11 이 Matrix3D 구조체의 첫 번째 행과 첫 번째 열 값을 가져오거나 설정합니다.Gets or sets the value of the first row and first column of this Matrix3D structure. M12 M12 M12 M12 이 Matrix3D 구조체의 첫 번째 행과 두 번째 열 값을 가져오거나 설정합니다.Gets or sets the value of the first row and second column of this Matrix3D structure. M13 M13 M13 M13 이 Matrix3D 구조체의 첫 번째 행과 세 번째 열 값을 가져오거나 설정합니다.Gets or sets the value of the first row and third column of this Matrix3D structure. M14 M14 M14 M14 이 Matrix3D 구조체의 첫 번째 행과 네 번째 열 값을 가져오거나 설정합니다.Gets or sets the value of the first row and fourth column of this Matrix3D structure. M21 M21 M21 M21 이 Matrix3D 구조체의 두 번째 행과 첫 번째 열 값을 가져오거나 설정합니다.Gets or sets the value of the second row and first column of this Matrix3D structure. M22 M22 M22 M22 이 Matrix3D 구조체의 두 번째 행과 두 번째 열 값을 가져오거나 설정합니다.Gets or sets the value of the second row and second column of this Matrix3D structure. M23 M23 M23 M23 이 Matrix3D 구조체의 두 번째 행과 세 번째 열 값을 가져오거나 설정합니다.Gets or sets the value of the second row and third column of this Matrix3D structure. M24 M24 M24 M24 이 Matrix3D 구조체의 두 번째 행과 네 번째 열 값을 가져오거나 설정합니다.Gets or sets the value of the second row and fourth column of this Matrix3D structure. M31 M31 M31 M31 이 Matrix3D 구조체의 세 번째 행과 첫 번째 열 값을 가져오거나 설정합니다.Gets or sets the value of the third row and first column of this Matrix3D structure. M32 M32 M32 M32 이 Matrix3D 구조체의 세 번째 행과 두 번째 열 값을 가져오거나 설정합니다.Gets or sets the value of the third row and second column of this Matrix3D structure. M33 M33 M33 M33 이 Matrix3D 구조체의 세 번째 행과 세 번째 열 값을 가져오거나 설정합니다.Gets or sets the value of the third row and third column of this Matrix3D structure. M34 M34 M34 M34 이 Matrix3D 구조체의 세 번째 행과 네 번째 열 값을 가져오거나 설정합니다.Gets or sets the value of the third row and fourth column of this Matrix3D structure. M44 M44 M44 M44 이 Matrix3D 구조체의 네 번째 행과 네 번째 열 값을 가져오거나 설정합니다.Gets or sets the value of the fourth row and fourth column of this Matrix3D structure. OffsetX OffsetX OffsetX OffsetX 이 Matrix3D 구조체의 네 번째 행과 첫 번째 열 값을 가져오거나 설정합니다.Gets or sets the value of the fourth row and first column of this Matrix3D structure. OffsetY OffsetY OffsetY OffsetY 이 Matrix3D 구조체의 네 번째 행과 두 번째 열 값을 가져오거나 설정합니다.Gets or sets the value of the fourth row and second column of this Matrix3D structure. OffsetZ OffsetZ OffsetZ OffsetZ 이 Matrix3D 구조체의 네 번째 행과 세 번째 열 값을 가져오거나 설정합니다.Gets or sets the value of the fourth row and third column of this Matrix3D structure.

## 메서드

 Append(Matrix3D) Append(Matrix3D) Append(Matrix3D) Append(Matrix3D) 지정된 매트릭스를 현재 매트릭스 뒤에 추가합니다.Appends a specified matrix to the current matrix. Equals(Object) Equals(Object) Equals(Object) Equals(Object) 두 매트릭스가 일치하는지 여부를 테스트합니다.Tests equality between two matrices. Equals(Matrix3D) Equals(Matrix3D) Equals(Matrix3D) Equals(Matrix3D) 두 매트릭스가 일치하는지 여부를 테스트합니다.Tests equality between two matrices. Equals(Matrix3D, Matrix3D) Equals(Matrix3D, Matrix3D) Equals(Matrix3D, Matrix3D) Equals(Matrix3D, Matrix3D) 두 매트릭스가 일치하는지 여부를 테스트합니다.Tests equality between two matrices. GetHashCode() GetHashCode() GetHashCode() GetHashCode() 이 매트릭스의 해시 코드를 반환합니다.Returns the hash code for this matrix Invert() Invert() Invert() Invert() 이 Matrix3D 구조체를 반전합니다.Inverts this Matrix3D structure. Multiply(Matrix3D, Matrix3D) Multiply(Matrix3D, Matrix3D) Multiply(Matrix3D, Matrix3D) Multiply(Matrix3D, Matrix3D) 지정된 매트릭스를 곱합니다.Multiplies the specified matrices. Parse(String) Parse(String) Parse(String) Parse(String) Matrix3D 구조체의 문자열 표현을 해당되는 Matrix3D 구조체로 변환합니다.Converts a string representation of a Matrix3D structure into the equivalent Matrix3D structure. Prepend(Matrix3D) Prepend(Matrix3D) Prepend(Matrix3D) Prepend(Matrix3D) 지정된 매트릭스를 현재 매트릭스 앞에 추가합니다.Prepends a specified matrix to the current matrix. Rotate(Quaternion) Rotate(Quaternion) Rotate(Quaternion) Rotate(Quaternion) 현재 Matrix3D의 뒤에 회전 변환을 추가합니다.Appends a rotation transform to the current Matrix3D. RotateAt(Quaternion, Point3D) RotateAt(Quaternion, Point3D) RotateAt(Quaternion, Point3D) RotateAt(Quaternion, Point3D) 지정된 Matrix3D를 기준으로 이 Point3D를 회전합니다.Rotates this Matrix3D about the specified Point3D. RotateAtPrepend(Quaternion, Point3D) RotateAtPrepend(Quaternion, Point3D) RotateAtPrepend(Quaternion, Point3D) RotateAtPrepend(Quaternion, Point3D) 지정된 중심 Point3D를 기준으로 하는 회전을 이 Matrix3D 구조체 앞에 추가합니다.Prepends a rotation about a specified center Point3D to this Matrix3D structure. RotatePrepend(Quaternion) RotatePrepend(Quaternion) RotatePrepend(Quaternion) RotatePrepend(Quaternion) Quaternion에 지정된 회전을 이 Matrix3D 구조체 앞에 추가합니다.Prepends a rotation specified by a Quaternion to this Matrix3D structure. Scale(Vector3D) Scale(Vector3D) Scale(Vector3D) Scale(Vector3D) 지정된 배율 Vector3D를 이 Matrix3D 구조체 뒤에 추가합니다.Appends the specified scale Vector3D to this Matrix3D structure. ScaleAt(Vector3D, Point3D) ScaleAt(Vector3D, Point3D) ScaleAt(Vector3D, Point3D) ScaleAt(Vector3D, Point3D) 이 Matrix3D 구조체의 크기를 지정된 Vector3D에 대해 지정된 Point3D만큼 조정합니다.Scales this Matrix3D structure by the specified Vector3D about the specified Point3D. ScaleAtPrepend(Vector3D, Point3D) ScaleAtPrepend(Vector3D, Point3D) ScaleAtPrepend(Vector3D, Point3D) ScaleAtPrepend(Vector3D, Point3D) 지정된 Point3D에 대해 지정된 배율 변환을 이 Matrix3D 구조체 앞에 추가합니다.Prepends the specified scale transformation about the specified Point3D to this Matrix3D structure. ScalePrepend(Vector3D) ScalePrepend(Vector3D) ScalePrepend(Vector3D) ScalePrepend(Vector3D) 지정된 배율 Vector3D를 현재 Matrix3D 구조체 앞에 추가합니다.Prepends the specified scale Vector3D to the current Matrix3D structure. SetIdentity() SetIdentity() SetIdentity() SetIdentity() 이 Matrix3D 구조체를 항등 매트릭스로 변경합니다.Changes this Matrix3D structure into an identity matrix. ToString() ToString() ToString() ToString() 이 Matrix3D 구조체의 문자열 표현을 만듭니다.Creates a string representation of this Matrix3D structure. ToString(IFormatProvider) ToString(IFormatProvider) ToString(IFormatProvider) ToString(IFormatProvider) 이 Matrix3D 구조체의 문자열 표현을 만듭니다.Creates a string representation of this Matrix3D structure. Transform(Point3D) Transform(Point3D) Transform(Point3D) Transform(Point3D) Point3D로 지정된 Matrix3D를 변환하고 결과를 반환합니다.Transforms the specified Point3D by the Matrix3D and returns the result. Transform(Point3D[]) Transform(Point3D[]) Transform(Point3D[]) Transform(Point3D[]) Point3D로 배열의 지정된 Matrix3D 개체를 변환합니다.Transforms the specified Point3D objects in the array by the Matrix3D. Transform(Point4D) Transform(Point4D) Transform(Point4D) Transform(Point4D) Point4D로 지정된 Matrix3D를 변환하고 결과를 반환합니다.Transforms the specified Point4D by the Matrix3D and returns the result. Transform(Point4D[]) Transform(Point4D[]) Transform(Point4D[]) Transform(Point4D[]) Point4D로 배열의 지정된 Matrix3D 개체를 변환하고 결과를 반환합니다.Transforms the specified Point4D objects in the array by the Matrix3D and returns the result. Transform(Vector3D) Transform(Vector3D) Transform(Vector3D) Transform(Vector3D) 이 Vector3D로 지정된 Matrix3D를 변환합니다.Transforms the specified Vector3D by this Matrix3D. Transform(Vector3D[]) Transform(Vector3D[]) Transform(Vector3D[]) Transform(Vector3D[]) 이 Vector3D로 배열의 지정된 Matrix3D 개체를 변환합니다.Transforms the specified Vector3D objects in the array by this Matrix3D. Translate(Vector3D) Translate(Vector3D) Translate(Vector3D) Translate(Vector3D) 지정된 오프셋 변환을 현재 Matrix3D 구조체 뒤에 추가합니다.Appends a translation of the specified offset to the current Matrix3D structure. TranslatePrepend(Vector3D) TranslatePrepend(Vector3D) TranslatePrepend(Vector3D) TranslatePrepend(Vector3D) 지정된 오프셋 변환을 이 Matrix3D 구조체 앞에 추가합니다.Prepends a translation of the specified offset to this Matrix3D structure.

## 연산자

 Equality(Matrix3D, Matrix3D) Equality(Matrix3D, Matrix3D) Equality(Matrix3D, Matrix3D) Equality(Matrix3D, Matrix3D) 두 Matrix3D 인스턴스를 비교하여 완전히 같은지 여부를 확인합니다.Compares two Matrix3D instances for exact equality. Inequality(Matrix3D, Matrix3D) Inequality(Matrix3D, Matrix3D) Inequality(Matrix3D, Matrix3D) Inequality(Matrix3D, Matrix3D) 두 Matrix3D 인스턴스를 비교하여 완전히 다른지 여부를 확인합니다.Compares two Matrix3D instances for exact inequality. Multiply(Matrix3D, Matrix3D) Multiply(Matrix3D, Matrix3D) Multiply(Matrix3D, Matrix3D) Multiply(Matrix3D, Matrix3D) 지정된 매트릭스를 곱합니다.Multiplies the specified matrices.

## 명시적 인터페이스 구현

 IFormattable.ToString(String, IFormatProvider) IFormattable.ToString(String, IFormatProvider) IFormattable.ToString(String, IFormatProvider) IFormattable.ToString(String, IFormatProvider) 지정된 형식을 사용하여 현재 인스턴스 값의 형식을 지정합니다.Formats the value of the current instance using the specified format.