Main Content

eulerd

쿼터니언을 오일러 각(단위: 도)으로 변환

설명

예제

eulerAngles = eulerd(quat,rotationSequence,rotationType)은 쿼터니언 quat를 오일러 각(단위: 도)으로 구성된 N×3 행렬로 변환합니다.

예제

모두 축소

"ZYX" 회전 시퀀스를 사용하여 쿼터니언 프레임 회전을 오일러 각(단위: 도)으로 변환합니다.

quat = quaternion([0.7071 0.7071 0 0]);
eulerAnglesDegrees = eulerd(quat,"ZYX","frame")
eulerAnglesDegrees = 1×3

         0         0   90.0000

입력 인수

모두 축소

오일러 각으로 변환할 쿼터니언으로, quaternion 객체 또는 임의 차원의 quaternion 객체 배열로 지정됩니다.

오일러 각 표현의 회전 시퀀스로, 다음 값 중 하나로 지정됩니다.

  • "YZY"

  • "YXY"

  • "ZYZ"

  • "ZXZ"

  • "XYX"

  • "XZX"

  • "XYZ"

  • "YZX"

  • "ZXY"

  • "XZY"

  • "ZYX"

  • "YXZ"

회전 시퀀스는 좌표축을 중심으로 회전하는 순서를 정의합니다. 예를 들어 회전 시퀀스를 "YZX"로 지정할 경우 다음과 같습니다.

  1. 첫 번째 회전은 y축을 중심으로 합니다.

  2. 두 번째 회전은 새로운 z축을 중심으로 합니다.

  3. 세 번째 회전은 새로운 x축을 중심으로 합니다.

데이터형: char | string

회전 유형으로, "point" 또는 "frame"으로 지정됩니다.

점 회전에서 프레임은 정적이며 점이 움직입니다. 프레임 회전에서 점은 정적이며 프레임이 움직입니다. 점 회전과 프레임 회전은 동일한 각변위를 정의하지만 방향은 반대입니다.

Frame Rotation and Point Rotation

데이터형: char | string

출력 인수

모두 축소

오일러 각 표현(단위: 도)으로, N×3 숫자형 행렬로 반환됩니다. 여기서 N은 quat 인수의 쿼터니언 개수입니다.

eulerAngles의 각 행에 대해 첫 번째 열은 회전 시퀀스의 첫 번째 축에 대응하고, 두 번째 열은 회전 시퀀스의 두 번째 축에 대응하며, 세 번째 열은 회전 시퀀스의 세 번째 축에 대응합니다.

오일러 각 표현의 데이터형은 quat의 기본 데이터형과 같습니다.

데이터형: single | double

확장 기능

C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.

버전 내역

R2018b에 개발됨