Matrix 구조체

정의

2-D 공간에서의 변형에 사용되는 3x3 유사 변형 매트릭스를 나타냅니다.Represents a 3x3 affine transformation matrix used for transformations in 2-D space.

public value class Matrix : IFormattable
[System.ComponentModel.TypeConverter(typeof(System.Windows.Media.MatrixConverter))]
[System.Serializable]
public struct Matrix : IFormattable
type Matrix = struct
    interface IFormattable
Public Structure Matrix
Implements IFormattable
상속
Matrix
특성
구현

설명

3x3 매트릭스 변환에 사용 되는 2차원2-D x-y 평면입니다.A 3x3 matrix is used for transformations in a 2차원2-D x-y plane. 개수에 관계 없이 선형 변형, 회전 및 기울이기와 같은 (기울이기) 뒤에 변환 3x3 유사 변형 매트릭스를 곱할 수 있습니다.Affine transformation matrices can be multiplied to form any number of linear transformations, such as rotation and skew (shear), followed by translation. 3x3 유사 변형 매트릭스에의 마지막 열은 (0, 0, 1) 이므로 처음 두 열 멤버만 지정할 수 있습니다.An affine transformation matrix has its final column equal to (0, 0, 1), so only the members in the first two columns need to be specified. 참고 벡터는 열 벡터가 아니라 행 벡터로 표현 됩니다.Note that vectors are expressed as row-vectors, not column vectors.

A WPFWPF Matrix 행 중심 순서를 사용 하 여 저장 되 고 다음 구조를 가집니다.A WPFWPF Matrix is stored using row-major order and has the following structure:

M11 M12 00
M21 M22 00
OffsetX OffsetY 11

마지막 행에 있는 멤버 OffsetXOffsetY, 변환 값을 나타냅니다.The members in the last row, OffsetX and OffsetY, represent translation values.

메서드 및 속성의 변형 매트릭스 일반적으로 6 명의 멤버를 사용 하 여 벡터를 다음과 같이 지정 됩니다.In methods and properties, the transformation matrix is usually specified as a vector with only six members, as follows:

(M11, M12, M21, M22, OffsetX, OffsetY)(M11, M12, M21, M22, OffsetX, OffsetY)

사용할 수 있지만 Matrix 직접 개별 요소를 변환할 구조 또는 MatrixTransform 개체를 변환할 WPFWPF 매트릭스를 직접 조작 하지 않고 개체를 변환할 수 있도록 하는 클래스 집합을 제공: RotateTransform, ScaleTransform하십시오 SkewTransform, 및 TranslateTransform합니다.Although you can use a Matrix structure directly to translate individual points, or with a MatrixTransform to transform objects, WPFWPF also provides a set of classes that enable you to transform objects without working directly with matrices: RotateTransform, ScaleTransform, SkewTransform, and TranslateTransform.

XAML 특성 사용XAML Attribute Usage

<object property="m11, m12, m21, m22, offsetX, offsetY"/>  
- or -  
<object property="Identity"/>  

XAML 값XAML Values

m11m11
System.Double

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

m12m12
System.Double

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

m21m21
System.Double

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

m22m22
System.Double

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

offsetXoffsetX
System.Double

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

offsetYoffsetY
System.Double

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

생성자

Matrix(Double, Double, Double, Double, Double, Double)

Matrix 구조체의 새 인스턴스를 초기화합니다.Initializes a new instance of the Matrix structure.

속성

Determinant

Matrix 구조체의 행렬식을 가져옵니다.Gets the determinant of this Matrix structure.

HasInverse

Matrix 구조체를 반전할 수 있는지 여부를 나타내는 값을 가져옵니다.Gets a value that indicates whether this Matrix structure is invertible.

Identity

항등 Matrix를 가져옵니다.Gets an identity Matrix.

IsIdentity

Matrix 구조체가 항등 행렬인지 여부를 나타내는 값을 가져옵니다.Gets a value that indicates whether this Matrix structure is an identity matrix.

M11

Matrix 구조체의 첫 번째 행과 첫 번째 열 값을 가져오거나 설정합니다.Gets or sets the value of the first row and first column of this Matrix structure.

M12

Matrix 구조체의 첫 번째 행과 두 번째 열 값을 가져오거나 설정합니다.Gets or sets the value of the first row and second column of this Matrix structure.

M21

Matrix 구조체의 두 번째 행과 첫 번째 열 값을 가져오거나 설정합니다.Gets or sets the value of the second row and first column of this Matrix structure.

M22

Matrix 구조체의 두 번째 행과 두 번째 열 값을 가져오거나 설정합니다.Gets or sets the value of the second row and second column of this Matrix structure.

OffsetX

Matrix 구조체의 세 번째 행과 첫 번째 열 값을 가져오거나 설정합니다.Gets or sets the value of the third row and first column of this Matrix structure.

OffsetY

Matrix 구조체의 세 번째 행과 두 번째 열 값을 가져오거나 설정합니다.Gets or sets the value of the third row and second column of this Matrix structure.

메서드

Append(Matrix)

지정한 Matrix 구조체를 이 Matrix 구조체 뒤에 추가합니다.Appends the specified Matrix structure to this Matrix structure.

Equals(Matrix)

지정한 Matrix 구조체가 이 인스턴스와 같은지 여부를 결정합니다.Determines whether the specified Matrix structure is identical to this instance.

Equals(Matrix, Matrix)

지정한 두 Matrix 구조체가 같은지 여부를 결정합니다.Determines whether the two specified Matrix structures are identical.

Equals(Object)

지정한 Object가 이 Matrix와 같은 Matrix 구조체인지 여부를 결정합니다.Determines whether the specified Object is a Matrix structure that is identical to this Matrix.

GetHashCode()

Matrix 구조체의 해시 코드를 반환합니다.Returns the hash code for this Matrix structure.

Invert()

Matrix 구조체를 반전합니다.Inverts this Matrix structure.

Multiply(Matrix, Matrix)

Matrix 구조체에 다른 Matrix 구조체를 곱합니다.Multiplies a Matrix structure by another Matrix structure.

Parse(String)

매트릭스의 String 표현을 해당 Matrix 구조체로 변환합니다.Converts a String representation of a matrix into the equivalent Matrix structure.

Prepend(Matrix)

지정한 Matrix 구조체를 이 Matrix 구조체 앞에 추가합니다.Prepends the specified Matrix structure onto this Matrix structure.

Rotate(Double)

원점을 기준으로 지정한 각도만큼 이 Matrix 구조체에 회전을 적용합니다.Applies a rotation of the specified angle about the origin of this Matrix structure.

RotateAt(Double, Double, Double)

지정한 점을 기준으로 이 매트릭스를 회전합니다.Rotates this matrix about the specified point.

RotateAtPrepend(Double, Double, Double)

지정한 점을 기준으로 하는 지정한 각도의 회전을 이 Matrix 구조체 앞에 추가합니다.Prepends a rotation of the specified angle at the specified point to this Matrix structure.

RotatePrepend(Double)

지정한 각도의 회전을 이 Matrix 구조체 앞에 추가합니다.Prepends a rotation of the specified angle to this Matrix structure.

Scale(Double, Double)

지정한 배율 벡터를 이 Matrix 구조체 뒤에 추가합니다.Appends the specified scale vector to this Matrix structure.

ScaleAt(Double, Double, Double, Double)

지정한 점을 기준으로 지정한 크기만큼 이 Matrix의 배율을 조정합니다.Scales this Matrix by the specified amount about the specified point.

ScaleAtPrepend(Double, Double, Double, Double)

지정한 점을 기준으로 하는 지정한 배율 조정을 이 Matrix 앞에 추가합니다.Prepends the specified scale about the specified point of this Matrix.

ScalePrepend(Double, Double)

지정한 배율 벡터를 이 Matrix 구조체 앞에 추가합니다.Prepends the specified scale vector to this Matrix structure.

SetIdentity()

Matrix 구조체를 항등 매트릭스로 변경합니다.Changes this Matrix structure into an identity matrix.

Skew(Double, Double)

X축 및 Y축 방향의 지정한 각도의 기울이기를 이 Matrix 구조체 뒤에 추가합니다.Appends a skew of the specified degrees in the x and y dimensions to this Matrix structure.

SkewPrepend(Double, Double)

X축 및 Y축 방향의 지정한 각도의 기울이기를 이 Matrix 구조체 앞에 추가합니다.Prepends a skew of the specified degrees in the x and y dimensions to this Matrix structure.

ToString()

String 구조체의 Matrix 표현을 만듭니다.Creates a String representation of this Matrix structure.

ToString(IFormatProvider)

문화권별 형식 지정 정보를 사용하여 이 String 구조체의 Matrix 표현을 만듭니다.Creates a String representation of this Matrix structure with culture-specific formatting information.

Transform(Point)

Matrix를 사용하여 지정한 점을 변환한 다음 결과를 반환합니다.Transforms the specified point by the Matrix and returns the result.

Transform(Point[])

Matrix를 사용하여 지정한 점을 변환합니다.Transforms the specified points by this Matrix.

Transform(Vector)

Matrix를 사용하여 지정한 벡터를 변환합니다.Transforms the specified vector by this Matrix.

Transform(Vector[])

Matrix를 사용하여 지정한 벡터를 변환합니다.Transforms the specified vectors by this Matrix.

Translate(Double, Double)

지정한 오프셋 변환을 이 Matrix 구조체 뒤에 추가합니다.Appends a translation of the specified offsets to this Matrix structure.

TranslatePrepend(Double, Double)

지정한 오프셋 변환을 이 Matrix 구조체 앞에 추가합니다.Prepends a translation of the specified offsets to this Matrix structure.

연산자

Equality(Matrix, Matrix)

지정한 두 Matrix 구조체가 같은지 여부를 결정합니다.Determines whether the two specified Matrix structures are identical.

Inequality(Matrix, Matrix)

지정한 두 Matrix 구조체가 같지 않은지 여부를 결정합니다.Determines whether the two specified Matrix structures are not identical.

Multiply(Matrix, Matrix)

Matrix 구조체에 다른 Matrix 구조체를 곱합니다.Multiplies a Matrix structure by another Matrix structure.

명시적 인터페이스 구현

IFormattable.ToString(String, IFormatProvider)

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

적용 대상

추가 정보