Main Content

rigidtform3d

3차원 강체 기하 변환

R2022b 이후

    설명

    rigidtform3d 객체는 3차원 강체 기하 변환에 대한 정보를 저장하며, 순방향 및 역방향 변환을 적용합니다.

    생성

    설명

    tform = rigidtform3d는 항등 변환을 수행하는 rigidtform3d 객체를 만듭니다.

    tform = rigidtform3d(R,Translation)R 속성과 Translation 속성의 지정된 값에 따라 강체 변환을 수행하는 rigidtform3d 객체를 만듭니다. 이러한 속성은 회전 행렬과 x 방향, y 방향, z 방향 평행 이동의 양을 나타냅니다.

    예제

    tform = rigidtform3d(eulerAngles,Translation)은 오일러 각과 Translation 속성의 지정된 값에 따라 강체 변환을 수행하는 rigidtform3d 객체를 만듭니다.

    tform = rigidtform3d(A)rigidtform3d 객체를 만들고 속성 A를 지정된 3차원 강체 변환 행렬로 설정합니다.

    tform = rigidtform3d(tformIn)은 유효한 3차원 강체 기하 변환을 나타내는 다른 기하 변환 객체 tformIn에서 rigidtform3d 객체를 만듭니다.

    입력 인수

    모두 확장

    x,y,z 순서의 오일러 각(단위: 도)으로, 요소를 3개 가진 [rx ry rz] 형태의 숫자형 벡터로 지정됩니다. 오일러 각은 R 속성을 다음과 같이 세 개의 회전 행렬의 곱으로 설정합니다.

     Rx = [1 0 0; 0 cosd(rx) -sind(rx); 0 sind(rx) cosd(rx)];
     Ry = [cosd(ry) 0 sind(ry); 0 1 0; -sind(ry) 0 cosd(ry)];
     Rz = [cosd(rz) -sind(rz) 0; sind(rz) cosd(rz) 0; 0 0 1];
      R = Rz*Ry*Rx;

    데이터형: double | single

    강체 3차원 기하 변환으로, affinetform3d 객체, rigidtform3d 객체, simtform3d 객체 또는 transltform3d 객체로 지정됩니다.

    속성

    모두 확장

    순방향 3차원 강체 변환으로, 4×4 숫자형 행렬로 지정됩니다. 객체를 만들 때 A를 3×4 숫자형 행렬로 지정할 수도 있습니다. 이 경우 객체는 행 벡터 [0 0 0 1]을 행렬의 끝에 결합하여 4×4 행렬을 만듭니다. A의 디폴트 값은 단위 행렬입니다.

    행렬 A는 다음과 같은 규칙을 사용하여 입력 좌표 공간의 점 (u, v, w)를 출력 좌표 공간의 점 (x, y, z)로 변환합니다.

    [xyz1]=Α×[uvw1]

    강체 변환의 경우 A는 다음과 같은 형태를 갖습니다.

    Α=[R(1,1)R(1,2)R(1,3)txR(2,1)R(2,2)R(2,3)tyR(3,1)R(3,2)R(3,3)tz0001]

    여기서 각 요소 R(i,j)R 속성으로 지정된 회전 행렬의 요소 (i, j)입니다. tx, ty 및 tz는 각각 x 방향, y 방향, z 방향으로의 평행 이동의 양이며 Translation 속성에 대응합니다.

    데이터형: double | single

    회전 행렬로, 3×3 숫자형 행렬로 지정됩니다. 회전 행렬은 먼저 z축을 중심으로 회전을 일으키고, 그런 다음 차례로 y축, x축을 중심으로 회전을 일으킵니다.

    평행 이동의 양으로, 요소를 3개 가진 [tx ty tz] 형태의 숫자형 벡터로 지정됩니다.

    데이터형: double | single

    읽기 전용 속성입니다.

    입력 점과 출력 점에 대한 기하 변환의 차원 수로, 3으로 지정됩니다.

    데이터형: double

    객체 함수

    invert역 기하 변환
    outputLimitsFind output spatial limits given input spatial limits
    transformPointsForwardApply forward geometric transformation
    transformPointsInverseApply inverse geometric transformation

    예제

    모두 축소

    오일러 각과 평행 이동 양을 지정합니다.

    angles = [30 0 90];
    translation = [10 20.5 15];

    지정된 회전 및 평행 이동을 수행하는 rigidtform3d 객체를 만듭니다.

    tform = rigidtform3d(angles,translation)
    tform = 
      rigidtform3d with properties:
    
        Dimensionality: 3
           Translation: [10 20.5000 15]
                     R: [3x3 double]
                     A: [4x4 double]
    
    

    A 속성값을 검토합니다.

    tform.A
    ans = 4×4
    
             0   -0.8660    0.5000   10.0000
        1.0000         0         0   20.5000
             0    0.5000    0.8660   15.0000
             0         0         0    1.0000
    
    

    확장 기능

    버전 내역

    R2022b에 개발됨

    모두 확장