Main Content

dist

変換間の距離を計算する

R2023b 以降

    説明

    distance = dist(transformation1,transformation2) は、変換 transformation1 と変換 transformation2 で表された姿勢間の距離 distance を返します。

    同次変換オブジェクト se2 および se3 の場合、関数 dist は並進距離と回転距離を個別に計算し、重み付き総和で結合します。並進距離はユークリッド距離、回転距離は transformation1transformation2 の回転四元数間の角度差です。

    distance = dist(transformation1,transformation2,weights) は、2 つの同次変換の重み付き和を計算するための並進距離と回転距離の重み weights を指定します。

    distance = dist(rotation1,rotation2) は、変換 rotation1 と変換 rotation2 で表された姿勢間の距離 distance を返します。

    同次変換オブジェクト se2 および se3 の場合、関数 dist は並進距離と回転距離を個別に計算し、重み付き総和で結合します。並進距離はユークリッド距離、回転距離は rotation1rotation2 の回転四元数間の角度差です。

    回転オブジェクト so2 および so3 の場合、関数 dist は、rotation1rotation2 の回転四元数間の角度差として回転距離を計算します。

    入力引数

    すべて折りたたむ

    最初の変換。スカラーの se2 オブジェクト、スカラーの se3 オブジェクト、あるいは変換オブジェクトの N 要素配列として指定します。ここで、N は変換の合計数です。transformation1 を配列として指定する場合、各要素が同じタイプでなければなりません。

    transformation1 または transformation2 は、同じタイプのスカラー変換オブジェクトでなければなりません。たとえば、transformation1se2 オブジェクトの配列である場合、transformation2 はスカラーの se2 オブジェクトでなければなりません。

    最後の変換。スカラーの se2 オブジェクト、スカラーの se3 オブジェクト、あるいは変換オブジェクトの N 要素配列として指定します。ここで、N は変換の合計数です。transformation2 を配列として指定する場合、各要素が同じタイプでなければなりません。

    transformation1 または transformation2 は、同じタイプのスカラー変換オブジェクトでなければなりません。たとえば、transformation1se2 オブジェクトの配列である場合、transformation2 はスカラーの se2 オブジェクトでなければなりません。

    最初の回転。スカラーの so2 オブジェクト、スカラーの so3 オブジェクト、あるいは回転オブジェクトの N 要素配列として指定します。ここで、N は回転の合計数です。rotation1 を配列として指定する場合、各要素が同じタイプでなければなりません。

    rotation1 または rotation2 は、同じタイプのスカラー回転オブジェクトでなければなりません。たとえば、rotation1so2 オブジェクトの配列である場合、rotation2 はスカラーの so2 オブジェクトでなければなりません。

    最後の回転。スカラーの so2 オブジェクト、スカラーの so3 オブジェクト、あるいは回転オブジェクトの N 要素配列として指定します。ここで、N は回転の合計数です。rotation2 を配列として指定する場合、各要素が同じタイプでなければなりません。

    rotation1 または rotation2 は、同じタイプのスカラー回転オブジェクトでなければなりません。たとえば、rotation1se2 オブジェクトの配列である場合、rotation2 はスカラーの se2 オブジェクトでなければなりません。

    距離の合計における並進と回転の重み。[WeightXYZ WeightQ] の形式で 2 要素の行ベクトルとして指定します。WeightXYZ は並進の重み、WeightQ は回転の重みです。どちらの重みも非負の数値でなければなりません。

    データ型: single | double

    出力引数

    すべて折りたたむ

    変換間の距離。非負の数値スカラーとして返されます。距離の計算は、transformation1transformation2、または rotation1rotation2 の変換オブジェクト タイプによって変わります。

    • se2 および se3 — 関数 dist は並進距離と回転距離を個別に計算し、引数 weights で指定された重み付き和で結合します。並進距離は、transformation1transformation2 間のユークリッド距離です。回転距離は transformation1transformation2 の回転間の角度差です。

    • so2 および so3 — 関数 dist は、rotation1rotation2 の回転間の角度差として回転距離を計算します。

    回転距離を計算するために、関数 disttransformation1 および transformation2 または rotation1 および rotation2 の回転行列を quaternion オブジェクトに変換し、quaternion の関数 dist を使用して角距離を計算します。

    バージョン履歴

    R2023b で導入

    参考

    関数

    オブジェクト