Main Content

tform2rotm

동차 변환에서 회전 행렬 추출

설명

예제

rotm = tform2rotm(tform)은 동차 변환 tform에서 회전 성분을 추출하고 이를 정규 직교 회전 행렬 rotm으로 반환합니다. tform의 평행 이동 성분은 무시됩니다. 입력 동차 변환은 변환을 위한 전위곱(premultiply) 형식이어야 합니다. 회전 행렬을 사용할 때는 회전할 좌표 앞에 곱하십시오(후위곱이 아님).

예제

모두 축소

tform = [1 0 0 0; 0 -1 0 0; 0 0 -1 0; 0 0 0 1];
rotm = tform2rotm(tform)
rotm = 3×3

     1     0     0
     0    -1     0
     0     0    -1

입력 인수

모두 축소

동차 변환으로, 3×3×n 배열 또는 4×4×n 배열로 지정됩니다. 여기서 n은 동차 변환의 개수입니다. 입력 동차 변환은 변환을 위한 전위곱(premultiply) 형식이어야 합니다.

2차원 동차 변환 행렬의 형식은 다음과 같습니다.

T=[r11r12t1r21r22t2001]

3차원 동차 변환 행렬의 형식은 다음과 같습니다.

T=[r11r12r13t1r21r22r23t2r31r32r33t30001]

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

출력 인수

모두 축소

회전 행렬로, n개 회전 행렬이 포함된 2×2×n 배열 또는 3×3×n 배열로 반환됩니다. 배열에 있는 각 회전 행렬은 2×2 또는 3×3 크기이며 정규 직교입니다. 회전 행렬을 사용할 때는 회전할 좌표 앞에 곱하십시오(후위곱이 아님).

2차원 회전 행렬의 형식은 다음과 같습니다.

R=[r11r12r21r22]

3차원 회전 행렬의 형식은 다음과 같습니다.

R=[r11r12r13r11r22r23r31r32r33]

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

세부 정보

모두 축소

동차 변환 행렬

동차 변환 행렬은 직교 회전과 평행 이동으로 구성됩니다.

2차원 변환

2차원 변환은 z축을 중심으로 θ만큼 회전하고

Rz(θ)=[cosθsinθsinθcosθ]

그리고 x축과 y축을 따라 평행 이동합니다.

t=[xy]

그 결과 다음 형식의 2차원 변환 행렬이 구해집니다.

T=[Rt01×21]=[I2t01×21]·[R001×21]

3차원 변환

3차원 변환은 x축, y축, z축을 중심으로 하는 세 회전에 대한 정보를 포함합니다.

Rx(ϕ)=[1000cosϕsinϕ0sinϕcosϕ],Ry(ψ)=[cosψ0sinψ010sinψ0cosψ],Rz(θ)=[cosθsinθ0sinθcosθ0001]

곱셈을 수행하고 나면 xyz축을 중심으로 하는 회전이 됩니다.

Rxyz=Rx(ϕ)Ry(ψ)Rz(θ)=[cosϕcosψcosθsinϕsinθcosϕcosψsinθsinϕcosθcosϕsinψsinϕcosψcosθ+cosϕsinθsinϕcosψsinθ+cosϕcosθsinϕsinψsinψcosθsinψsinθcosψ]

그리고 x축, y축, z축을 따라 평행 이동합니다.

t=[xyz]

그 결과 다음 형식의 3차원 변환 행렬이 구해집니다.

T=[Rt01x31]=[I3t01x31]·[R001x31]

확장 기능

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

버전 내역

R2015a에 개발됨

모두 확장

참고 항목

| | | |