다음을 통해 공유


D3DXVec3BaryCentric 함수(D3dx9math.h)

참고 항목

D3DX 유틸리티 라이브러리는 더 이상 사용되지 않습니다. 대신 DirectXMath를 사용하는 것이 좋습니다.

지정된 3D 벡터를 사용하여 Barycentric 좌표의 점을 반환합니다.

구문

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

매개 변수

pOut [out]

형식: D3DXVECTOR3*

작업의 결과인 D3DXVECTOR3 구조체에 대한 포인터입니다.

pV1 [in]

형식: const D3DXVECTOR3*

원본 D3DXVECTOR3 구조체에 대한 포인터입니다.

pV2 [in]

형식: const D3DXVECTOR3*

원본 D3DXVECTOR3 구조체에 대한 포인터입니다.

pV3 [in]

형식: const D3DXVECTOR3*

원본 D3DXVECTOR3 구조체에 대한 포인터입니다.

f [in]

형식: FLOAT

가중치 요소입니다. 설명 부분을 참조하세요.

g [in]

형식: FLOAT

가중치 요소입니다. 설명 부분을 참조하세요.

반환 값

형식: D3DXVECTOR3*

Barycentric 좌표의 D3DXVECTOR3 구조체에 대한 포인터입니다.

설명

D3DXVec3BaryCentric 함수는 삼각형이 실제로 있는 위치와 관계없이 삼각형 안팎의 점을 이해하는 방법을 제공합니다. 이 함수는 다음 수식을 사용하여 결과 지점을 반환합니다. V1 + f(V2-V1) + g(V3-V1).

평면 V1V2V3의 모든 지점은 Barycentric 좌표(f,g)로 나타낼 수 있습니다. 매개 변수 f 는 결과에 가중치가 지정된 V2의 양을 제어하고, 매개 변수 g 는 V3이 결과에 가중되는 양을 제어합니다. 마지막으로, 1-f-g는 V1의 가중치를 결과에 얼마나 많이 제어합니다.

다음 관계에 유의하세요.

  • (f>=0 &, & g>=0 &, & 1-f-g>=0)이면 점이 삼각형 V1V2V3 내에 있습니다.
  • (f==0 &, & g>=0 및 1-f-g>=0)이면 점이 V1V3 줄에 있습니다.
  • (f>=0 &, & g==0 &, & 1-f-g>=0)이면 점이 V1V2 줄에 있습니다.
  • (f>=0 &, & g>=0 &, & 1-f-g==0)이면 점이 V2V3 줄에 있습니다.

바리센트릭 좌표는 일반 좌표의 한 형태입니다. 이 컨텍스트에서 Barycentric 좌표를 사용하는 것은 좌표계의 변화를 나타냅니다. 카티전 좌표에 대해 참인 것은 Barycentric 좌표에 대해 사실입니다.

이 함수의 반환 값은 pOut 매개 변수에서 반환된 값과 동일합니다. 이러한 방식으로 D3DXVec3BaryCentric 함수를 다른 함수의 매개 변수로 사용할 수 있습니다.

Barycentric 좌표는 삼각형의 꼭짓점 측면에서 삼각형 내의 점을 정의합니다. 바리센트릭 좌표에 대한 자세한 설명은 Mathworld의 Barycentric 좌표 설명을 참조 하세요.

요구 사항

요구 사항
헤더
D3dx9math.h
라이브러리
D3dx9.lib

참고 항목

수학 함수