将几何变换迁移到前置乘法约定
从R2022b开始,创建和执行几何变换的函数使用预乘法矩阵约定。
一组新的对象启用了使用前置乘法约定的几何变换。没有计划删除支持后乘约定的旧几何变换对象。金宝app
关于前乘和后乘约定
使用前面的2-D后乘矩阵约定,将点(u,v)到输入坐标空间中的点(x,y)在输出坐标空间中使用约定:
几何变换矩阵T
由3 × 3矩阵表示:
在二维预乘矩阵约定中,将点(u,v)到输入坐标空间中的点(x,y)在输出坐标空间中使用约定:
几何变换矩阵一个
用一个3 × 3矩阵表示就是矩阵的转置T
:
从先前的几何变换对象创建新的几何变换对象
如果您的代码使用前面的几何转换对象之一,那么您可以通过使用启用预乘法约定的新几何转换对象来更新您的代码。
选择执行所需转换的新几何转换对象的类型。某些类型的后乘几何变换对象具有几个满足约束的前乘对象。该表显示了可用的几何转换对象,您可以使用这些对象代替前面的对象。
上一个几何变换对象 当前几何变换对象 affine2d
使用 affinetform2d
代替。若要创建表示纯刚性、相似或平移变换的2-D仿射变换,请使用rigidtform2d
,simtform2d
,或transltform2d
,分别。affine3d
使用 affinetform3d
代替。若要创建表示纯刚性、类似或平移变换的3-D仿射变换,请使用rigidtform3d
,simtform3d
,或transltform3d
,分别。rigid2d
使用 rigidtform2d
代替。要创建表示纯平移的2-D刚性变换,请使用transltform2d
.rigid3d
使用 rigidtform3d
代替。要创建表示纯平移的三维刚性变换,请使用transltform3d
.projective2d
使用 projtform2d
代替。使用存储在旧对象中的变换矩阵的转置创建对象。例如,这段代码展示了如何转换一个表示为的2-D仿射变换
affine2d
对象命名tformPost
到一个affinetform2d
对象命名tformPre
.T = tformPost.T;A = t ';tformPre = affinetform2d(A)