Fungsi D3DXPlaneTransform (D3dx9math.h)

Catatan

Pustaka utilitas D3DX tidak digunakan lagi. Kami menyarankan agar Anda menggunakan DirectXMath sebagai gantinya.

Mengubah bidang dengan matriks. Matriks input adalah perubahan terbalik dari transformasi aktual.

Sintaks

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

Parameter

pOut [masuk, keluar]

Jenis: D3DXPLANE*

Penunjuk ke struktur D3DXPLANE yang berisi bidang transformasi yang dihasilkan. Lihat contoh.

pP [in]

Jenis: const D3DXPLANE*

Arahkan ke struktur input D3DXPLANE , yang berisi bidang yang akan diubah. Vektor (a,b,c) yang menjelaskan bidang harus dinormalisasi sebelum fungsi ini dipanggil. Lihat contoh.

pM [in]

Jenis: const D3DXMATRIX*

Arahkan ke struktur D3DXMATRIX sumber, yang berisi nilai transformasi. Matriks ini harus berisi perubahan terbalik dari nilai transformasi.

Menampilkan nilai

Jenis: D3DXPLANE*

Penunjuk ke struktur D3DXPLANE , mewakili bidang yang diubah. Ini adalah nilai yang sama yang dikembalikan dalam parameter pOut sehingga fungsi ini dapat digunakan sebagai parameter untuk fungsi lain.

Keterangan

Contoh

Contoh ini mengubah bidang dengan menerapkan skala yang tidak seragam.

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

Bidang dijelaskan oleh ax + by + cz + dw = 0. Bidang pertama dibuat dengan (a,b,c,d) = (0,1,1,0), yang merupakan bidang yang dijelaskan oleh y + z = 0. Setelah penskalakan, bidang baru berisi (a,b,c,d) = (0, 0,353f, 0,235f, 0), yang menunjukkan bidang baru yang akan dijelaskan oleh 0,353y + 0,235z = 0.

Parameter pM berisi urutan terbalik dari matriks transformasi. Transpose terbalik diperlukan oleh metode ini sehingga vektor normal dari bidang yang diubah juga dapat diubah dengan benar.

Persyaratan

Persyaratan Nilai
Header
D3dx9math.h
Pustaka
D3dx9.lib

Lihat juga

Fungsi matematika

D3DXPlaneNormalize

D3DXMatrixRotationX

D3DXMatrixRotationY

D3DXMatrixRotationZ

D3DXMatrixInverse

D3DXMatrixTranspose