다음을 통해 공유


quaternion 구조체

회전을 나타내는 데 사용되는 4차원 벡터입니다.

쿼터니언은 각도 세타로 (x, y, z) 벡터에 대한 개체를 효율적으로 회전할 수 있습니다. 여기서 w = cos(theta/2). 쿼터니언은 일반적으로 두 각도 간의 부드러운 보간과 Euler 각도에서 발생할 수 있는 짐벌 잠금 문제를 방지하는 데 사용됩니다.

이 형식은 C++에서만 사용할 수 있습니다. 해당 .NET은 System.Numerics.Quaternion입니다.

생성자

속성 설명
quaternion() 초기화되지 않은 쿼터니언을 만듭니다.
quaternion(float x, float y, float z, float w) 지정된 값을 사용하여 쿼터니언을 만듭니다.
quaternion(float3 vectorPart, float scalarPart) float3 및 스칼라에서 쿼터니언을 만듭니다.
quaternion(Microsoft::?Graphics::?Canvas::?Numerics::?Quaternion const& value) Microsoft.Graphics.Canvas.Numerics.Quaternion을 쿼터니언으로 변환합니다.

Functions

속성 Description
quaternion make_quaternion_from_axis_angle(float3 const& axis, float angle) 벡터와 벡터를 중심으로 회전할 각도에서 쿼터니언을 만듭니다.
quaternion make_quaternion_from_yaw_pitch_roll(float yaw, float pitch, float roll) 지정된 요, 피치 및 롤 각도에서 쿼터니언을 만듭니다.
quaternion make_quaternion_from_rotation_matrix(float4x4 const& matrix) 회전 행렬에서 쿼터니언을 만듭니다.
bool is_identity(quaternion const& value) 이것이 ID(회전 없음) 쿼터니언인지 확인합니다.
float length(quaternion const& value) 쿼터니언의 길이를 계산합니다.
float length_squared(quaternion const& value) 쿼터니언의 제곱 길이를 계산합니다.
float dot(quaternion const& quaternion1, quaternion const& quaternion2) 두 쿼터니언의 내적을 계산합니다.
quaternion normalize(quaternion const& value) 쿼터니언의 각 구성 요소를 쿼터니언의 길이로 나눕니다.
quaternion conjugate(quaternion const& value) 쿼터니언의 결합을 계산합니다.
quaternion inverse(quaternion const& value) 쿼터니언의 역을 계산합니다.
quaternion slerp(quaternion const& quaternion1, quaternion const& quaternion2, float amount) 구면 선형 보간을 사용하여 두 쿼터니언을 보간합니다.
quaternion lerp(quaternion const& quaternion1, quaternion const& quaternion2, float amount) 두 쿼터니언 사이를 선형으로 보간합니다.
quaternion concatenate(quaternion const& value1, quaternion const& value2) 두 개의 쿼터니언을 연결합니다. 결과는 첫 번째 회전과 두 번째 회전을 나타냅니다.

메서드

속성 설명
static quaternion identity() ID 쿼터니언의 instance 반환합니다.

연산자

속성 설명
quaternion operator+ (quaternion const& value1, quaternion const& value2) 두 개의 쿼터니언을 추가합니다.
quaternion operator- (quaternion const& value1, quaternion const& value2) 다른 쿼터니언에서 쿼터니언을 뺍니다.
quaternion operator* (quaternion const& value1, quaternion const& value2) 쿼터니언을 다른 쿼터니언과 곱합니다.
quaternion operator* (quaternion const& value1, float value2) 쿼터니언을 스칼라 값으로 곱합니다.
quaternion operator/ (quaternion const& value1, quaternion const& value2) 쿼터니언을 다른 쿼터니언으로 나눕니다.
quaternion operator- (quaternion const& value) 쿼터니언의 각 구성 요소의 기호를 대칭 이동합니다.
quaternion& operator+= (quaternion& value1, quaternion const& value2) 현재 위치에서 두 개의 쿼터니언을 추가합니다.
quaternion& operator-= (quaternion& value1, quaternion const& value2) 현재 위치는 다른 쿼터니언에서 쿼터니언을 뺍니다.
quaternion& operator*= (quaternion& value1, quaternion const& value2) 현재 위치에서는 쿼터니언을 다른 쿼터니언에 곱합니다.
quaternion& operator*= (quaternion& value1, float value2) 현재 위치에서 스칼라 값으로 쿼터니언을 nultiplies합니다.
quaternion& operator/= (quaternion& value1, quaternion const& value2) 현재 위치에서는 쿼터니언을 다른 쿼터니언으로 나눕니다.
bool operator== (quaternion const& value1, quaternion const& value2) 쿼터니언의 두 인스턴스가 같은지 여부를 결정합니다.
bool operator!= (quaternion const& value1, quaternion const& value2) 쿼터니언의 두 인스턴스가 같지 않은지 여부를 결정합니다.
operator Microsoft::?Graphics::?Canvas::?Numerics::?Quaternion() const 쿼터니언을 Microsoft.Graphics.Canvas.Numerics.Quaternion으로 변환합니다.

필드

이름 설명
float x 쿼터니언의 벡터 구성 요소의 X 값입니다.
float y 쿼터니언의 벡터 구성 요소의 Y 값입니다.
float z 쿼터니언의 벡터 구성 요소의 Z 값입니다.
float w 쿼터니언의 회전 구성 요소입니다.

요구 사항

요구 사항
네임스페이스 Windows::Foundation::Numerics
헤더
Windowsnumerics.h

추가 정보

windowsnumerics.h API