主要内容

几何转换迁移到自左乘公约

从R2022b,函数创建和执行几何转换使用自左乘矩阵公约。

一套新的对象使用一个自左乘公约使几何转换。没有计划删除旧的几何变换对象支持自右乘的约定。金宝app

自左乘和自右乘约定

使用前面的二维自右乘矩阵大会,您将点(u,v)输入坐标空间中的点(x,y)在输出坐标空间使用公约:

( x y 1 ] = ( u v 1 ] Τ

几何变换矩阵T由3 x3的矩阵表示:

Τ = ( 一个 d 0 b e 0 c f 1 ]

在二维自左乘矩阵惯例,你变换点(u,v)输入坐标空间中的点(x,y)在输出坐标空间使用公约:

( x y 1 ] = Α × ( u v 1 ]

几何变换矩阵一个由3 x3的表示矩阵的转置矩阵T:

Α = ( 一个 b c d e f 0 0 1 ]

创建新的几何转换对象从先前的几何变换对象

如果你的代码使用前面的几何变换对象,你可以更新你的代码通过使用一个新的几何变换对象,支持自左乘公约。金宝app

  1. 选择一种新的几何变换对象,执行所需的变换。仿射和刚性自右乘几何变换对象支持多种类型的新的自左乘几何变换对象。金宝app表显示了可用几何转换对象,您可以使用,而不是以前的对象。

    以前的几何变换对象 当前几何变换对象
    affine2d 使用affinetform2d代替。创建一个二维仿射变换,代表着一种纯粹的刚性,相似,或翻译转换,使用rigidtform2d,simtform2d,或transltform2d,分别。
    affine3d 使用affinetform3d代替。创建一个三维仿射变换,代表了一种纯粹的刚性,相似,或翻译转换,使用rigidtform3d,simtform3d,或transltform3d,分别。
    rigid2d 使用rigidtform2d代替。创建一个二维刚性变换代表纯粹的翻译,使用transltform2d
    rigid3d 使用rigidtform3d代替。创建一个三维刚性变换代表纯粹的翻译,使用transltform3d
    projective2d 使用projtform2d代替。
  2. 创建对象使用的变换矩阵的转置存储的对象。例如,这个代码显示了如何将一个二维仿射变换的表示affine2d对象命名tformPost到一个affinetform2d对象命名tformPre

    T = tformPost.T;= T ';tformPre = affinetform2d (A)

相关的话题