다음을 통해 공유


Quaternion 구조체

업데이트: 2007년 11월

4차원 벡터(x, y, z, w)를 설명합니다.

네임스페이스:  Microsoft.WindowsMobile.DirectX
어셈블리:  Microsoft.WindowsMobile.DirectX(Microsoft.WindowsMobile.DirectX.dll)

구문

‘선언
Public Structure Quaternion
‘사용 방법
Dim instance As Quaternion
public struct Quaternion
public value class Quaternion
JScript에서는 구조체를 사용할 수 있지만 새로 선언할 수는 없습니다.

설명

4원수는 3차원 회전의 개념을 4차원 회전으로 확장한 것입니다. 4원수를 사용하여 (x, y, z) 벡터에 대한 개체를 theta 각도만큼 회전시킬 수 있으며, 이때 w = cos(theta/2)입니다. 4원수 연산은 변환과 회전에 사용되는 4 × 4 매트릭스의 곱보다 계산 면에서 효율적입니다. 4원수는 개체의 두 방향을 보간하는 데 가장 효율적인 회전도 나타냅니다.

4원수는 벡터를 정의하는 [x, y, z] 값에 네 번째 요소를 추가하여 임의의 4차원 벡터를 생성합니다. 다음 수식은 단위 4원수의 각 요소가 축-각도 회전과 어떠한 관련이 있는지 보여 줍니다. 여기서 q는 단위 4원수(x, y, z, w)를 나타내고, 축은 정규화되어 있으며, theta는 축을 중심으로 한 원하는 CCW(시계 반대 방향) 회전입니다.

q.x = sin(theta/2) * axis.x
q.y = sin(theta/2) * axis.y
q.z = sin(theta/2) * axis.z
q.w = cos(theta/2)

스레드로부터의 안전성

이 형식의 모든 공용 static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

플랫폼

Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC

.NET Framework 및 .NET Compact Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Compact Framework

3.5, 2.0에서 지원

참고 항목

참조

Quaternion 멤버

Microsoft.WindowsMobile.DirectX 네임스페이스

기타 리소스

.NET Compact Framework의 모바일 Direct3D 프로그래밍