XMQuaternionSquad 함수(directxmath.h)
구형 사분면 보간을 사용하여 4개의 단위 쿼터니언 사이를 보간합니다.
구문
XMVECTOR XM_CALLCONV XMQuaternionSquad(
[in] FXMVECTOR Q0,
[in] FXMVECTOR Q1,
[in] FXMVECTOR Q2,
[in] GXMVECTOR Q3,
[in] float t
) noexcept;
매개 변수
[in] Q0
첫 번째 단위 쿼터니언.
[in] Q1
두 번째 단위 쿼터니언.
[in] Q2
세 번째 단위 쿼터니언.
[in] Q3
네 번째 단위 쿼터니언.
[in] t
보간 제어 요소입니다.
반환 값
보간된 쿼터니언을 반환합니다. Q0, Q1, Q2 및 Q3이 모든 단위 쿼터니언이 아닌 경우 반환된 쿼터니언은 정의되지 않습니다.
설명
DirectXMath 쿼터니언 함수는 XMVECTOR 4-벡터를 사용하여 쿼터니언을 나타냅니다. 여기서 X, Y 및 Z 구성 요소는 벡터 부분이고 W 구성 요소는 스칼라 부분입니다.
이 메서드를 사용하려면 사용하기 전에 몇 가지 설정이 필요합니다. 자세한 내용은 XMQuaternionSquadSetup 을 참조하세요.
다음 예제에서는 쿼터니언 키 집합(Q0, Q1, Q2, Q3)을 사용하여 내부 사분면 지점(A, B, C)을 계산하는 방법을 보여 줍니다. 이렇게 하면 인접한 세그먼트에서 탄젠트가 연속됩니다.
// Rotation about the z-axis
XMVECTOR Q0 = XMVectorSet(0, 0, 0.707f, -.707f);
XMVECTOR Q1 = XMVectorSet(0, 0, 0.000f, 1.000f);
XMVECTOR Q2 = XMVectorSet(0, 0, 0.707f, 0.707f);
XMVECTOR Q3 = XMVectorSet(0, 0, 1.000f, 0.000f);
XMVECTOR A, B, C;
XMQuaternionSquadSetup(&A, &B, &C, Q0, Q1, Q2, Q3);
XMVECTOR result = XMQuaternionSquad(Q1, A, B, C, 0.5f);
// result is a rotation of 45 degrees around the z-axis
플랫폼 요구 사항
Win32 데스크톱 앱, Windows 스토어 앱 및 Windows Phone 8개 앱에서 지원됩니다.요구 사항
대상 플랫폼 | Windows |
헤더 | directxmath.h |