Funzione D3DXPlaneTransform (D3DX10Math.h)

Nota

La libreria di utilità D3DX10 è deprecata. È consigliabile usare invece DirectXMath .

Trasforma un piano in base a una matrice. La matrice di input è il trasposto inverso della trasformazione effettiva.

Sintassi

D3DXPLANE* D3DXPlaneTransform(
  _Inout_       D3DXPLANE  *pOut,
  _In_    const D3DXPLANE  *pP,
  _In_    const D3DXMATRIX *pM
);

Parametri

pOut [in, out]

Tipo: D3DXPLANE*

Puntatore al D3DXPLANE che contiene il piano trasformato risultante. Vedere l'esempio.

pP [in]

Tipo: const D3DXPLANE*

Puntatore alla struttura D3DXPLANE di input, che contiene il piano che verrà trasformato. Il vettore (a,b,c) che descrive il piano deve essere normalizzato prima che venga chiamata questa funzione. Vedere l'esempio.

pM [in]

Tipo: const D3DXMATRIX*

Puntatore alla struttura D3DXMATRIX di origine, che contiene i valori di trasformazione. Questa matrice deve contenere il trasposto inverso dei valori di trasformazione.

Valore restituito

Tipo: D3DXPLANE*

Puntatore a una struttura D3DXPLANE che rappresenta il piano trasformato. Questo è lo stesso valore restituito nel parametro pOut in modo che questa funzione possa essere usata come parametro per un'altra funzione.

Commenti

Esempi

In questo esempio viene trasformato un piano applicando una scala non uniforme.

D3DXPLANE   planeNew;
D3DXPLANE   plane(0,1,1,0);
D3DXPlaneNormalize(&plane, &plane);

D3DXMATRIX  matrix;
D3DXMatrixScaling(&matrix, 1.0f,2.0f,3.0f);
D3DXMatrixInverse(&matrix, NULL, &matrix);
D3DXMatrixTranspose(&matrix, &matrix);
D3DXPlaneTransform(&planeNew, &plane, &matrix);

Un piano è descritto da ax + by + cz + dw = 0. Il primo piano viene creato con (a,b,c,d) = (0,1,1,0), che è un piano descritto da y + z = 0. Dopo il ridimensionamento, il nuovo piano contiene (a,b,c,d) = (0, 0,353f, 0,235f, 0), che mostra il nuovo piano da descrivere da 0,353y + 0,235z = 0.

Il parametro pM contiene il trasposto inverso della matrice di trasformazione. Il trasposto inverso è richiesto da questo metodo in modo che anche il vettore normale del piano trasformato possa essere trasformato correttamente.

Requisiti

Requisito Valore
Intestazione
D3DX10Math.h
Libreria
D3DX10.lib

Vedi anche

Funzioni matematiche