D3DXVec2BaryCentric 함수(D3dx9math.h)

참고

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

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

구문

D3DXVECTOR2* D3DXVec2BaryCentric(
  _Out_       D3DXVECTOR2 *pOut,
  _In_  const D3DXVECTOR2 *pV1,
  _In_  const D3DXVECTOR2 *pV2,
  _In_  const D3DXVECTOR2 *pV3,
  _In_        FLOAT       f,
  _In_        FLOAT       g
);

매개 변수

pOut [out]

형식: D3DXVECTOR2*

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

pV1 [in]

형식: const D3DXVECTOR2*

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

pV2 [in]

형식: const D3DXVECTOR2*

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

pV3 [in]

형식: const D3DXVECTOR2*

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

f [in]

형식: FLOAT

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

g [in]

형식: FLOAT

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

반환 값

형식: D3DXVECTOR2*

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

설명

D3DXVec2BaryCentric 함수는 삼각형이 실제로 있는 위치와 관계없이 삼각형 안팎의 점을 이해하는 방법을 제공합니다. 이 함수는 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 좌표를 사용하는 것은 좌표계의 변화를 나타냅니다. 카티시안 좌표의 경우 바리센트릭 좌표의 경우 true입니다.

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

바리센트릭 좌표는 삼각형의 꼭짓점 측면에서 삼각형 내의 점을 정의합니다. 바리센트릭 좌표에 대한 자세한 설명은 Mathworld의 Barycentric 좌표 설명을 참조하세요. (일부 언어 및 국가에서는 이 리소스를 사용할 수 없습니다.)

요구 사항

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

추가 정보

수학 함수