Matrix3D Matrix3D Matrix3D Matrix3D Struct

Определение

Представляет матрицу 4 х 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
Наследование
Атрибуты
Реализации

Примеры

// 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 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. Добавление матрицы A в матрицу B означает преобразование посредством B, а затем посредством A:Appending matrix A to matrix B denotes a transformation by B and then by A:

Использование атрибута XAMLXAML Attribute Usage

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

Значения XAMLXAML 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.

Конструкторы

Matrix3D(Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double) Matrix3D(Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double) Matrix3D(Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double) 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 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.

Применяется к

Дополнительно