다음을 통해 공유


XMVectorCatmullRom 함수(directxmath.h)

지정된 위치 벡터를 사용하여 Catmull-Rom 보간을 수행합니다.

구문

XMVECTOR XM_CALLCONV XMVectorCatmullRom(
  [in] FXMVECTOR Position0,
  [in] FXMVECTOR Position1,
  [in] FXMVECTOR Position2,
  [in] GXMVECTOR Position3,
  [in] float     t
) noexcept;

매개 변수

[in] Position0

첫 번째 위치입니다.

[in] Position1

두 번째 위치입니다.

[in] Position2

세 번째 위치입니다.

[in] Position3

네 번째 위치입니다.

[in] t

제어 계수 보간.

반환 값

Catmull-Rom 보간 결과를 반환합니다.

설명

다음 의사 코드는 함수의 작업을 보여 줍니다.

XMVECTOR Result;

float t2 = t * t;
float t3 = t2* t;

float P0 = -t3 + 2.0f * t2 - t;
float P1 = 3.0f * t3 - 5.0f * t2 + 2.0f;
float P2 = -3.0f * t3 + 4.0f * t2 + t;
float P3 = t3 - t2;

Result.x = (P0 * Position0.x + P1 * Position1.x + P2 * Position2.x + P3 * Position3.x) * 0.5f;
Result.y = (P0 * Position0.y + P1 * Position1.y + P2 * Position2.y + P3 * Position3.y) * 0.5f;
Result.z = (P0 * Position0.z + P1 * Position1.z + P2 * Position2.z + P3 * Position3.z) * 0.5f;
Result.w = (P0 * Position0.w + P1 * Position1.w + P2 * Position2.w + P3 * Position3.w) * 0.5f;

return Result;

플랫폼 요구 사항

Windows 8 Windows SDK를 사용하는 Microsoft Visual Studio 2010 또는 Microsoft Visual Studio 2012. Win32 데스크톱 앱, Windows 스토어 앱 및 Windows Phone 8개 앱에 지원됩니다.

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 directxmath.h(DirectXMath.h 포함)

추가 정보

기하학적 벡터 함수

XMVectorCatmullRomV