Main Content

tform2trvec

동차 변환에서 평행 이동 벡터 추출

설명

예제

trvec = tform2trvec(tform)은 동차 변환 tform에서 평행 이동 벡터 trvec의 카테시안 표현을 추출합니다. tform의 회전 성분은 무시됩니다. 입력 동차 변환은 변환을 위한 전위곱(premultiply) 형식이어야 합니다.

예제

모두 축소

tform = [1 0 0 0.5; 0 -1 0 5; 0 0 -1 -1.2; 0 0 0 1];
trvec = tform2trvec(tform)
trvec = 1×3

    0.5000    5.0000   -1.2000

입력 인수

모두 축소

동차 변환으로, 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]

출력 인수

모두 축소

평행 이동 벡터의 카테시안 표현으로, tform이 3×3×n 배열이면 n×2 행렬로 반환되고 tform이 4×4×n 배열이면 n×3 행렬로 반환됩니다. 여기서 n은 평행 이동 벡터의 개수입니다. 모든 벡터의 형식은 [x y] 또는 [x y z]입니다.

예: [0.5 6 100]

세부 정보

모두 축소

동차 변환 행렬

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

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에 개발됨

모두 확장

참고 항목

| |