メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

simtform3d

3 次元相似幾何学的変換

R2022b 以降

    説明

    simtform3d オブジェクトは、3 次元相似幾何学的変換に関する情報を格納し、順変換と逆変換を可能にします。

    作成

    説明

    tform = simtform3d は、恒等変換を実行する simtform3d オブジェクトを作成します。

    tform = simtform3d(Scale,R,Translation) は、指定された Scale プロパティ、R プロパティ、および Translation プロパティの値に基づいて相似変換を実行する simtform3d オブジェクトを作成します。これらのプロパティは、スケール係数、回転角度および平行移動の量を x 方向、y 方向、z 方向でそれぞれ指定します。

    tform = simtform3d(Scale,eulerAngles,Translation) は、オイラー角と指定された Scale プロパティおよび Translation プロパティの値に基づいて相似変換を実行する simtform3d オブジェクトを作成します。

    tform = simtform3d(A) は、simtform3d オブジェクトを作成し、指定された 3 次元相似変換行列としてプロパティ A を設定します。

    tform = simtform3d(tformIn) は、有効な 3 次元相似幾何学的変換を表す、別の幾何学的変換オブジェクト tformIn から simtform3d オブジェクトを作成します。

    入力引数

    すべて展開する

    x,y,z 順のオイラー角 (度単位)。[rx ry rz] 形式の 3 要素の数値ベクトルとして指定します。オイラー角は、R プロパティを以下のように 3 つの回転行列 (RxRy、および Rz) の積として設定します。

     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 の既定値は単位行列です。

    行列 A は、次の規則を使用して、入力座標空間内の点 (u, v, w) を出力座標空間内の点 (x, y, z) に変換します。

    [xyz1]=Α×[uvw1]

    相似変換の場合、A は次の形式になります。

    Α=[sR(1,1)sR(1,2)sR(1,3)txsR(2,1)sR(2,2)sR(2,3)tysR(3,1)sR(3,2)sR(3,3)tz0001]

    ここで、s はスケール係数であり、Scale プロパティに対応します。R(i,j) は、R プロパティの対応する (i,j) インデックスによって指定する回転行列の要素です。txtytz はそれぞれ xyz 方向の平行移動の量であり、Translation プロパティの要素に対応します。

    データ型: double | single

    スケール係数。正の数値として指定します。スケール係数は、プロパティ A によって定義される相似変換行列の値 s に対応します。

    データ型: double | single

    回転行列。3 行 3 列の数値行列として指定します。回転行列は、まず z 軸を中心に回転を実行し、次に y 軸を中心に回転を実行し、その次に x 軸を中心に回転を実行します。

    平行移動の量。[tx ty tz] 形式の 3 要素の数値ベクトルとして指定します。

    データ型: double | single

    この プロパティ は読み取り専用です。

    入力点と出力点の両方の幾何学的変換の次元。3 を指定します。

    データ型: double

    オブジェクト関数

    invert幾何学的逆変換
    outputLimits与えられた入力空間範囲について出力空間範囲を求める
    transformPointsForward順方向の幾何学的変換の適用
    transformPointsInverse逆方向の幾何学的変換の適用

    すべて折りたたむ

    スケール係数および平行移動の量を指定します。この例の変換では回転は実行しないため、オイラー角を [0 0 0] に設定します。

    scaleFactor = 1.5;
    eulerAngles = [0 0 0];
    translation = [10 20.5 15];

    スケーリングと平行移動を実行する simtform3d オブジェクトを作成します。

    tform = simtform3d(scaleFactor,eulerAngles,translation)
    tform = 
      simtform3d with properties:
    
        Dimensionality: 3
                 Scale: 1.5000
           Translation: [10 20.5000 15]
                     R: [3x3 double]
    
                     A: [1.5000         0         0   10.0000
                              0    1.5000         0   20.5000
                              0         0    1.5000   15.0000
                              0         0         0    1.0000]
    
    

    A プロパティの値を調べます。

    tform.A
    ans = 4×4
    
        1.5000         0         0   10.0000
             0    1.5000         0   20.5000
             0         0    1.5000   15.0000
             0         0         0    1.0000
    
    

    拡張機能

    すべて展開する

    バージョン履歴

    R2022b で導入

    すべて展開する