Freigeben über


D3DXIntersectTri-Funktion (D3DX9Mesh.h)

Berechnet die Schnittmenge eines Strahls und eines Dreiecks.

Syntax

BOOL D3DXIntersectTri(
  _In_  const D3DXVECTOR3 *p0,
  _In_  const D3DXVECTOR3 *p1,
  _In_  const D3DXVECTOR3 *p2,
  _In_  const D3DXVECTOR3 *pRayPos,
  _In_  const D3DXVECTOR3 *pRayDir,
  _Out_       FLOAT       *pU,
  _Out_       FLOAT       *pV,
  _Out_       FLOAT       *pDist
);

Parameter

p0 [in]

Typ: const D3DXVECTOR3*

Zeiger auf eine D3DXVECTOR3-Struktur , die die erste Dreiecksvertexposition beschreibt.

p1 [in]

Typ: const D3DXVECTOR3*

Zeiger auf eine D3DXVECTOR3-Struktur , die die zweite Dreiecksvertexposition beschreibt.

p2 [in]

Typ: const D3DXVECTOR3*

Zeiger auf eine D3DXVECTOR3-Struktur , die die dritte Dreiecksvertexposition beschreibt.

pRayPos [in]

Typ: const D3DXVECTOR3*

Zeiger auf eine D3DXVECTOR3-Struktur , der den Punkt angibt, an dem der Strahl beginnt.

pRayDir [in]

Typ: const D3DXVECTOR3*

Zeiger auf eine D3DXVECTOR3-Struktur , die die Richtung des Strahls angibt.

pU [out]

Typ: FLOAT*

Baryzentrische Trefferkoordinaten, U.

pV [out]

Typ: FLOAT*

Baryzentrische Trefferkoordinaten, V.

pDist [out]

Typ: FLOAT*

Entfernung des Strahl-Schnittpunktparameters.

Rückgabewert

Typ: BOOL

Gibt TRUE zurück, wenn der Strahl den Bereich des Dreiecks überschneidet. Andernfalls wird FALSE zurückgegeben.

Bemerkungen

Die D3DXIntersect-Funktion bietet eine Möglichkeit, Punkte in und um ein Dreieck zu verstehen, unabhängig davon, wo sich das Dreieck tatsächlich befindet. Diese Funktion gibt den resultierenden Punkt mithilfe der folgenden Gleichung zurück: V1 + U(V2 - V1) + V(V3 - V1).

Jeder Punkt auf der Ebene V1V2V3 kann durch die baryzentrische Koordinate (U,V) dargestellt werden. Der Parameter U steuert, wie viel V2 in das Ergebnis gewichtet wird, und der Parameter V steuert, wie viel V3 in das Ergebnis gewichtet wird. Schließlich steuert der Wert von [1 - (U + V)], wie viel V1 in das Ergebnis gewichtet wird.

Baryzentrische Koordinaten sind eine Form von allgemeinen Koordinaten. In diesem Kontext stellt die Verwendung von baryzentrischen Koordinaten eine Änderung der Koordinatensysteme dar. Was für kartesische Koordinaten gilt, gilt für baryzentrische Koordinaten.

Baryzentrische Koordinaten definieren einen Punkt innerhalb eines Dreiecks in Bezug auf die Scheitelpunkte des Dreiecks. Eine ausführlichere Beschreibung der baryzentrischen Koordinaten finden Sie unter Mathworlds Baryzentrische Koordinatenbeschreibung.

Anforderungen

Anforderung Wert
Header
D3DX9Mesh.h
Bibliothek
D3dx9.lib

Siehe auch

Gitterfunktionen