Main Content

rotm2eul

회전 행렬을 오일러 각으로 변환

설명

예제

eul = rotm2eul(rotm)은 회전 행렬 rotm을 해당하는 오일러 각 eul로 변환합니다. 입력 회전 행렬은 회전을 위한 전위곱(premultiply) 형식이어야 합니다. 오일러 각 회전의 디폴트 순서는 "ZYX"입니다.

예제

eul = rotm2eul(rotm,sequence)는 회전 행렬을 오일러 각으로 변환합니다. 오일러 각은 축 회전 시퀀스 sequence에 지정됩니다. 오일러 각 회전의 디폴트 순서는 "ZYX"입니다.

[eul,eulAlt] = rotm2eul(___)은 동일한 회전을 표현하는 대체 오일러 각 세트 eulAlt도 반환합니다.

예제

모두 축소

rotm = [0 0 1; 0 1 0; -1 0 0];
eulZYX = rotm2eul(rotm)
eulZYX = 1×3

         0    1.5708         0

rotm = [0 0 1; 0 1 0; -1 0 0];
eulZYZ = rotm2eul(rotm,'ZYZ')
eulZYZ = 1×3

   -3.1416   -1.5708   -3.1416

입력 인수

모두 축소

회전 행렬로, n개 회전 행렬이 포함된 3×3×n 행렬로 지정됩니다. 각 회전 행렬은 3×3 크기이며 정규 직교입니다. 입력 회전 행렬은 회전을 위한 전위곱(premultiply) 형식이어야 합니다.

참고

회전 행렬이 약간 정규 직교가 아닐 경우 출력 결과가 복잡할 수 있습니다. 함수에 입력하기 전에 행렬 유효성 검사를 고려하십시오.

예: [0 0 1; 0 1 0; -1 0 0]

오일러 각의 축 회전 시퀀스로, 다음과 같은 string형 스칼라 중 하나로 지정됩니다.

  • "ZYX"(디폴트 값)

  • "ZYZ"

  • "ZXY"

  • "ZXZ"

  • "YXY"

  • "YZX"

  • "YXZ"

  • "YZY"

  • "XYX"

  • "XYZ"

  • "XZX"

  • "XZY"

각 문자는 대응하는 축을 나타냅니다. 예를 들어 시퀀스가 "ZYX"이면 지정된 3개의 오일러 각이 해석되는 순서는 z축 중심의 회전, y축 중심의 회전, x축 중심의 회전입니다. 이 회전을 한 점에 적용하면 축 회전은 x, y, z 순서로 적용됩니다.

데이터형: string | char

출력 인수

모두 축소

오일러 회전 각도(단위: 라디안)로, 오일러 회전 각도로 구성된 n×3 배열로 반환됩니다. 각 행은 하나의 오일러 각 세트를 나타냅니다.

예: [0 0 1.5708]

대체 가능한 오일러 회전 각도 해(단위: 라디안)로, 오일러 회전 각도로 구성된 n×3 배열로 반환됩니다. 각 행은 하나의 오일러 각 세트를 나타냅니다.

예: [0 0 1.5708]

확장 기능

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

버전 내역

R2015a에 개발됨

모두 확장

참고 항목

| |