Freigeben über


D3DXVec3BaryCentric-Funktion (D3dx9math.h)

Hinweis

Die D3DX-Hilfsprogrammbibliothek ist veraltet. Es wird empfohlen, stattdessen DirectXMath zu verwenden.

Gibt einen Punkt in baryzentrischen Koordinaten unter Verwendung der angegebenen 3D-Vektoren zurück.

Syntax

D3DXVECTOR3* D3DXVec3BaryCentric(
  _Out_       D3DXVECTOR3 *pOut,
  _In_  const D3DXVECTOR3 *pV1,
  _In_  const D3DXVECTOR3 *pV2,
  _In_  const D3DXVECTOR3 *pV3,
  _In_        FLOAT       f,
  _In_        FLOAT       g
);

Parameter

pOut [out]

Typ: D3DXVECTOR3*

Zeiger auf die D3DXVECTOR3-Struktur , die das Ergebnis des Vorgangs ist.

pV1 [in]

Typ: const D3DXVECTOR3*

Zeiger auf eine D3DXVECTOR3-Quellstruktur .

pV2 [in]

Typ: const D3DXVECTOR3*

Zeiger auf eine D3DXVECTOR3-Quellstruktur .

pV3 [in]

Typ: const D3DXVECTOR3*

Zeiger auf eine D3DXVECTOR3-Quellstruktur .

f [in]

Typ: FLOAT

Gewichtungsfaktor. Siehe Hinweise.

g [in]

Typ: FLOAT

Gewichtungsfaktor. Siehe Hinweise.

Rückgabewert

Typ: D3DXVECTOR3*

Zeiger auf eine D3DXVECTOR3-Struktur in baryzentrischen Koordinaten.

Bemerkungen

Die D3DXVec3BaryCentric-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 + f(V2-V1) + g(V3-V1).

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

Beachten Sie die folgenden Beziehungen.

  • Wenn (f>=0 &, & g>=0 &, & 1-f-g>=0), befindet sich der Punkt innerhalb des Dreiecks V1V2V3.
  • Wenn (f==0 &, & g>=0 &, & 1-f-g>=0) liegt der Punkt in der Zeile V1V3.
  • Wenn (f>=0 &, & g==0 &, & 1-f-g>=0) liegt der Punkt in der Zeile V1V2.
  • Wenn (f>=0 &, & g>=0 &, & 1-f-g==0) liegt der Punkt in der Zeile V2V3.

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.

Der Rückgabewert für diese Funktion ist derselbe Wert, der im pOut-Parameter zurückgegeben wird. Auf diese Weise kann die Funktion D3DXVec3BaryCentric als Parameter für eine andere Funktion verwendet werden.

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
D3dx9math.h
Bibliothek
D3dx9.lib

Weitere Informationen

Mathematische Funktionen