Matrix3D Estrutura
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Representa uma matriz 4 x 4 usada para transformações no espaço 3D.
public value class Matrix3D : IFormattable
[System.ComponentModel.TypeConverter(typeof(System.Windows.Media.Media3D.Matrix3DConverter))]
[System.Serializable]
public struct Matrix3D : IFormattable
[System.ComponentModel.TypeConverter(typeof(System.Windows.Media.Media3D.Matrix3DConverter))]
public struct Matrix3D : IFormattable
[<System.ComponentModel.TypeConverter(typeof(System.Windows.Media.Media3D.Matrix3DConverter))>]
[<System.Serializable>]
type Matrix3D = struct
interface IFormattable
[<System.ComponentModel.TypeConverter(typeof(System.Windows.Media.Media3D.Matrix3DConverter))>]
type Matrix3D = struct
interface IFormattable
Public Structure Matrix3D
Implements IFormattable
- Herança
- Atributos
- Implementações
Exemplos
// 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)
Observações
Matrix3D tem a seguinte sintaxe de vector linha:
| Coluna 1 | Coluna 2 | Coluna 3 | Coluna 4 |
|---|---|---|---|
| M11 | M12 | M13 | M14 |
| M21 | M22 | M23 | M24 |
| M31 | M32 | M33 | M34 |
| OffsetX | OffsetY | OffsetZ | M44 |
Note-se que, como a quarta coluna também é acessível, a matriz permite aos desenvolvedores representar transformadas afins e não afins.
As matrizes podem ser adicionadas ou precedidas a outras matrizes. Adicionar a matriz A à matriz B denota uma transformação por B e depois por A:
Uso de atributos XAML
<object property="m11, m12, m13, m21, m22, m23, m31, m32, m33, offsetX, offsetY, offsetZ"/>
- or -
<object property="Identity"/>
Valores XAML
O valor na primeira linha e na primeira coluna deste Matrix3D. Para obter mais informações, consulte a propriedade M11.
O valor na primeira linha e na segunda coluna deste Matrix3D. Para obter mais informações, consulte a propriedade M12.
O valor na primeira linha e na terceira coluna deste Matrix3D. Para obter mais informações, consulte a propriedade M13.
O valor na primeira linha e na quarta coluna deste Matrix3D. Para obter mais informações, consulte a propriedade M14.
O valor na segunda linha e na primeira coluna deste Matrix3D. Para obter mais informações, consulte a propriedade M21.
O valor na segunda linha e segunda coluna deste Matrix3D. Para obter mais informações, consulte a propriedade M22.
O valor na segunda linha e terceira coluna deste Matrix3D. Para obter mais informações, consulte a propriedade M23.
O valor na segunda linha e na quarta coluna deste Matrix3D. Para obter mais informações, consulte a propriedade M24.
O valor na terceira linha e na primeira coluna deste Matrix3D. Para obter mais informações, consulte a propriedade M31.
O valor na terceira linha e na segunda coluna deste Matrix3D. Para obter mais informações, consulte a propriedade M32.
O valor na terceira linha e terceira coluna deste Matrix3D. Para obter mais informações, consulte a propriedade M34.
O valor na terceira linha e na quarta coluna deste Matrix3D. Para obter mais informações, consulte a propriedade M33.
O valor na quarta linha e na quarta coluna deste Matrix3D. Para obter mais informações, consulte a propriedade M44.
offsetXSystem.Double
O valor na quarta linha e na primeira coluna deste Matrix3D. Para obter mais informações, consulte a propriedade OffsetX.
offsetYSystem.Double
O valor na quarta linha e na segunda coluna deste Matrix3D. Para obter mais informações, consulte a propriedade OffsetY.
offsetZSystem.Double
O valor na quarta linha e terceira coluna deste Matrix3D. Para obter mais informações, consulte a propriedade OffsetZ.
Construtores
| Name | Description |
|---|---|
| Matrix3D(Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double) |
Construtor que define os valores iniciais da matriz. |
Propriedades
| Name | Description |
|---|---|
| Determinant |
Recupera o determinante desta Matrix3D estrutura. |
| HasInverse |
Obtém um valor que indica se isto Matrix3D é invertível. |
| Identity | |
| IsAffine |
Obtém um valor que indica se esta Matrix3D estrutura é afim. |
| IsIdentity |
Determina se esta Matrix3D estrutura é uma Matrix3D identidade. |
| M11 |
Obtém ou define o valor da primeira linha e da primeira coluna desta Matrix3D estrutura. |
| M12 |
Obtém ou define o valor da primeira linha e da segunda coluna desta Matrix3D estrutura. |
| M13 |
Obtém ou define o valor da primeira linha e da terceira coluna desta Matrix3D estrutura. |
| M14 |
Obtém ou define o valor da primeira linha e da quarta coluna desta Matrix3D estrutura. |
| M21 |
Obtém ou define o valor da segunda linha e da primeira coluna desta Matrix3D estrutura. |
| M22 |
Obtém ou define o valor da segunda linha e da segunda coluna desta Matrix3D estrutura. |
| M23 |
Obtém ou define o valor da segunda linha e da terceira coluna desta Matrix3D estrutura. |
| M24 |
Obtém ou define o valor da segunda linha e da quarta coluna desta Matrix3D estrutura. |
| M31 |
Obtém ou define o valor da terceira linha e da primeira coluna desta Matrix3D estrutura. |
| M32 |
Obtém ou define o valor da terceira linha e da segunda coluna desta Matrix3D estrutura. |
| M33 |
Obtém ou define o valor da terceira linha e da terceira coluna desta Matrix3D estrutura. |
| M34 |
Obtém ou define o valor da terceira linha e da quarta coluna desta Matrix3D estrutura. |
| M44 |
Obtém ou define o valor da quarta linha e da quarta coluna desta Matrix3D estrutura. |
| OffsetX |
Obtém ou define o valor da quarta linha e da primeira coluna desta Matrix3D estrutura. |
| OffsetY |
Obtém ou define o valor da quarta linha e da segunda coluna desta Matrix3D estrutura. |
| OffsetZ |
Obtém ou define o valor da quarta linha e da terceira coluna desta Matrix3D estrutura. |
Métodos
| Name | Description |
|---|---|
| Append(Matrix3D) |
Acrescenta uma matriz especificada à matriz atual. |
| Equals(Matrix3D, Matrix3D) |
Testa a igualdade entre duas matrizes. |
| Equals(Matrix3D) |
Testa a igualdade entre duas matrizes. |
| Equals(Object) |
Testa a igualdade entre duas matrizes. |
| GetHashCode() |
Devolve o código de hash para esta matriz. |
| Invert() |
Inverte esta Matrix3D estrutura. |
| Multiply(Matrix3D, Matrix3D) |
Multiplica as matrizes especificadas. |
| Parse(String) |
Converte uma representação de cadeias de uma Matrix3D estrutura na estrutura equivalente Matrix3D. |
| Prepend(Matrix3D) |
Antepõe uma matriz especificada à matriz atual. |
| Rotate(Quaternion) |
Adiciona uma transformada de rotação à corrente Matrix3D. |
| RotateAt(Quaternion, Point3D) | |
| RotateAtPrepend(Quaternion, Point3D) |
Precede uma rotação em torno de um centro Point3D especificado a esta Matrix3D estrutura. |
| RotatePrepend(Quaternion) |
Precede uma rotação especificada por a Quaternion a a a esta Matrix3D estrutura. |
| Scale(Vector3D) |
Acrescenta a escala Vector3D especificada a esta Matrix3D estrutura. |
| ScaleAt(Vector3D, Point3D) |
Escala esta Matrix3D estrutura pelo especificado Vector3D em torno do especificado Point3D. |
| ScaleAtPrepend(Vector3D, Point3D) |
Precede a transformação de escala especificada em torno do especificado Point3D a esta Matrix3D estrutura. |
| ScalePrepend(Vector3D) |
Antepõe a escala Vector3D especificada à estrutura atual Matrix3D . |
| SetIdentity() |
Transforma esta Matrix3D estrutura numa matriz identidade. |
| ToString() |
Cria uma representação em cadeia desta Matrix3D estrutura. |
| ToString(IFormatProvider) |
Cria uma representação em cadeia desta Matrix3D estrutura. |
| Transform(Point3D) |
Transforma o especificado Point3D pelo Matrix3D e devolve o resultado. |
| Transform(Point3D[]) |
Transforma os objetos especificados Point3D no array pelo Matrix3D. |
| Transform(Point4D) |
Transforma o especificado Point4D pelo Matrix3D e devolve o resultado. |
| Transform(Point4D[]) |
Transforma os objetos especificados Point4D no array pelo Matrix3D e devolve o resultado. |
| Transform(Vector3D) | |
| Transform(Vector3D[]) |
Transforma os objetos especificados Vector3D no array por este Matrix3D. |
| Translate(Vector3D) |
Acrescenta uma translação do deslocamento especificado à estrutura atual Matrix3D . |
| TranslatePrepend(Vector3D) |
Precede uma translação do deslocamento especificado para esta Matrix3D estrutura. |
Operadores
| Name | Description |
|---|---|
| Equality(Matrix3D, Matrix3D) |
Compara duas Matrix3D instâncias para igualdade exata. |
| Inequality(Matrix3D, Matrix3D) |
Compara dois Matrix3D casos para a desigualdade exata. |
| Multiply(Matrix3D, Matrix3D) |
Multiplica as matrizes especificadas. |
Implementações de Interface Explícita
| Name | Description |
|---|---|
| IFormattable.ToString(String, IFormatProvider) |
Formata o valor da instância atual usando o formato especificado. |