Condividi tramite


Matrix3D Struct

Definizione

Rappresenta una matrice 4 x 4 usata per le trasformazioni nello spazio 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
Ereditarietà
Matrix3D
Attributi
Implementazioni

Esempio

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

Commenti

Matrix3D ha la sintassi del vettore di riga seguente:

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

Si noti che poiché anche la quarta colonna è accessibile, la matrice consente agli sviluppatori di rappresentare le trasformazioni affine e non affine.

Le matrici possono essere aggiunte o anteporte ad altre matrici. L'aggiunta della matrice A alla matrice B indica una trasformazione per B e quindi per A:

Uso della sintassi XAML per gli attributi

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

Valori XAML

M11System.Double

Valore nella prima riga e nella prima colonna di questo Matrix3Doggetto . Per altre informazioni, vedere la proprietà M11.

M12System.Double

Valore nella prima riga e nella seconda colonna di questo Matrix3Doggetto . Per altre informazioni, vedere la proprietà M12.

M13System.Double

Valore nella prima riga e nella terza colonna di questo Matrix3Doggetto . Per altre informazioni, vedere la proprietà M13.

M14System.Double

Valore nella prima riga e nella quarta colonna di questo Matrix3Doggetto . Per altre informazioni, vedere la proprietà M14.

M21System.Double

Valore nella seconda riga e nella prima colonna di questo Matrix3Doggetto . Per altre informazioni, vedere la proprietà M21.

M22System.Double

Valore nella seconda riga e nella seconda colonna di questo Matrix3Doggetto . Per altre informazioni, vedere la proprietà M22.

M23System.Double

Valore nella seconda riga e nella terza colonna di questo Matrix3Doggetto . Per altre informazioni, vedere la proprietà M23.

M24System.Double

Valore nella seconda riga e nella quarta colonna di questo Matrix3Doggetto . Per altre informazioni, vedere la proprietà M24.

M31System.Double

Valore nella terza riga e nella prima colonna di questo Matrix3Doggetto . Per altre informazioni, vedere la proprietà M31.

M32System.Double

Valore nella terza riga e nella seconda colonna di questo Matrix3Doggetto . Per altre informazioni, vedere la proprietà M32.

M33System.Double

Valore nella terza riga e nella terza colonna di questo Matrix3Doggetto . Per altre informazioni, vedere la proprietà M34.

M34System.Double

Valore nella terza riga e nella quarta colonna di questo Matrix3Doggetto . Per altre informazioni, vedere la proprietà M33.

M44System.Double

Valore nella quarta riga e nella quarta colonna di questo Matrix3Doggetto . Per altre informazioni, vedere la proprietà M44.

offsetXSystem.Double

Valore nella quarta riga e nella prima colonna di questo Matrix3Doggetto . Per altre informazioni, vedere la proprietà OffsetX.

OffsetySystem.Double

Valore nella quarta riga e nella seconda colonna di questo Matrix3Doggetto . Per altre informazioni, vedere la proprietà OffsetY.

offsetZSystem.Double

Valore nella quarta riga e nella terza colonna di questo Matrix3Doggetto . Per altre informazioni, vedere la proprietà OffsetZ.

Costruttori

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

Costruttore che imposta i valori iniziali della matrice.

Proprietà

Determinant

Recupera il determinante della struttura Matrix3D .

HasInverse

Ottiene un valore che indica se Matrix3D è invertibile.

Identity

Modifica una struttura Matrix3D in una struttura Matrix3D di identità.

IsAffine

Ottiene un valore che indica se questa struttura Matrix3D è affine o meno.

IsIdentity

Determina se la struttura Matrix3D è una struttura Matrix3D di identità o meno.

M11

Ottiene o imposta il valore della prima riga e della prima colonna della struttura Matrix3D.

M12

Ottiene o imposta il valore della prima riga e della seconda colonna della struttura Matrix3D.

M13

Ottiene o imposta il valore della prima riga e della terza colonna della struttura Matrix3D.

M14

Ottiene o imposta il valore della prima riga e della quarta colonna della struttura Matrix3D.

M21

Ottiene o imposta il valore della seconda riga e della prima colonna della struttura Matrix3D.

M22

Ottiene o imposta il valore della seconda riga e della seconda colonna della struttura Matrix3D.

M23

Ottiene o imposta il valore della seconda riga e della terza colonna della struttura Matrix3D.

M24

Ottiene o imposta il valore della seconda riga e della quarta colonna della struttura Matrix3D.

M31

Ottiene o imposta il valore della terza riga e della prima colonna della struttura Matrix3D.

M32

Ottiene o imposta il valore della terza riga e della seconda colonna della struttura Matrix3D.

M33

Ottiene o imposta il valore della terza riga e della terza colonna della struttura Matrix3D.

M34

Ottiene o imposta il valore della terza riga e della quarta colonna della struttura Matrix3D.

M44

Ottiene o imposta il valore della quarta riga e della quarta colonna della struttura Matrix3D.

OffsetX

Ottiene o imposta il valore della quarta riga e della prima colonna della struttura Matrix3D.

OffsetY

Ottiene o imposta il valore della quarta riga e della seconda colonna della struttura Matrix3D.

OffsetZ

Ottiene o imposta il valore della quarta riga e della terza colonna della struttura Matrix3D.

Metodi

Append(Matrix3D)

Accoda una matrice specificata alla matrice corrente.

Equals(Matrix3D, Matrix3D)

Verifica l'uguaglianza tra due matrici.

Equals(Matrix3D)

Verifica l'uguaglianza tra due matrici.

Equals(Object)

Verifica l'uguaglianza tra due matrici.

GetHashCode()

Restituisce il codice hash per questa matrice.

Invert()

Inverte la struttura Matrix3D.

Multiply(Matrix3D, Matrix3D)

Moltiplica le matrici specificate.

Parse(String)

Converte una rappresentazione di stringa di una struttura Matrix3D nella struttura Matrix3D equivalente.

Prepend(Matrix3D)

Antepone una matrice specificata alla matrice corrente.

Rotate(Quaternion)

Accoda una trasformazione di rotazione alla struttura Matrix3Dcorrente.

RotateAt(Quaternion, Point3D)

Ruota la struttura Matrix3D intorno all'oggetto Point3D specificato.

RotateAtPrepend(Quaternion, Point3D)

Antepone alla struttura Point3D corrente una rotazione intorno a un oggetto Matrix3D centrale specificato.

RotatePrepend(Quaternion)

Antepone alla struttura Quaternion corrente una rotazione specificata da una struttura Matrix3D.

Scale(Vector3D)

Accoda la struttura Vector3D di ridimensionamento specificata alla struttura Matrix3D corrente.

ScaleAt(Vector3D, Point3D)

Ridimensiona la struttura Matrix3D rispetto all'oggetto Vector3D specificato in base alla struttura Point3D definita.

ScaleAtPrepend(Vector3D, Point3D)

Antepone alla struttura Point3D corrente la trasformazione di adattamento specificata rispetto alla struttura Matrix3D definita.

ScalePrepend(Vector3D)

Antepone alla struttura Matrix3D corrente la struttura Vector3D di ridimensionamento specificata.

SetIdentity()

Cambia la struttura Matrix3D in una matrice di identità.

ToString()

Crea una rappresentazione di stringa della struttura Matrix3D corrente.

ToString(IFormatProvider)

Crea una rappresentazione di stringa della struttura Matrix3D corrente.

Transform(Point3D)

Trasforma l'oggetto Point3D specificato in base alla struttura Matrix3D e restituisce il risultato.

Transform(Point3D[])

Trasforma gli oggetti Point3D specificati della matrice in base alla struttura Matrix3D.

Transform(Point4D)

Trasforma l'oggetto Point4D specificato in base alla struttura Matrix3D e restituisce il risultato.

Transform(Point4D[])

Trasforma gli oggetti Point4D specificati della matrice in base alla struttura Matrix3D e restituisce il risultato.

Transform(Vector3D)

Trasforma l'oggetto Vector3D specificato in base alla struttura Matrix3D corrente.

Transform(Vector3D[])

Trasforma gli oggetti Vector3D specificati della matrice in base alla struttura Matrix3D corrente.

Translate(Vector3D)

Accoda alla struttura Matrix3D corrente una traslazione dell'offset specificato.

TranslatePrepend(Vector3D)

Antepone alla struttura Matrix3D una traslazione dell'offset specificato.

Operatori

Equality(Matrix3D, Matrix3D)

Confronta due istanze di Matrix3D per stabilire se sono esattamente uguali.

Inequality(Matrix3D, Matrix3D)

Confronta due istanze della struttura Matrix3D per stabilire se sono esattamente diverse.

Multiply(Matrix3D, Matrix3D)

Moltiplica le matrici specificate.

Implementazioni dell'interfaccia esplicita

IFormattable.ToString(String, IFormatProvider)

Formatta il valore dell'istanza corrente usando il formato specificato.

Si applica a