本文主要是介绍matlab affine3d解析--三维仿射几何变换,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
**
affine3d() 三维仿射几何变换
**:
- 一、描述
affine3d对象封装了一个三维仿射几何变换。
- 二、解释语法
tform = affine3d() 创建具有与标识转换对应的默认属性设置的affine3d对象。
tform = affine3d(A) 构造给定输入4×4矩阵A的affine3d对象,该矩阵指定一个有效的4×4仿射变换矩阵。
输入参数:
A 是一个4×4矩阵,它指定表单的有效仿射变换 :
A = [a b c 0;d e f 0;g h i 0;j k l 1];默认值:恒等变换
- 三、性能内容
T 是一个4×4双精度浮点矩阵,定义了三维正向变换。
矩阵T使用惯例:
[x y z 1] = [u v w 1] * T
式中:
[a b c 0;d e f 0;g h i 0;j k l 1];
默认值:恒等变换
维度描述的是输入和输出点的几何变换的维数。
- 四、例子
在每个维度中定义不同的比例因子:
创建一个affine3d对象,该对象在每个维度中定义不同的比例因子。
Sx = 1.2;
Sy = 1.6;
Sz = 2.4;
tform = affine3d([Sx 0 0 0; 0 Sy 0 0; 0 0 Sz 0; 0 0 0 1]);tform = affine3d 属性:T: [4x4 double]Dimensionality: 3
对输入点应用正向几何变换:
[X,Y,Z] = transformPointsForward(tform,1,1,1)
X =1.2000
Y =1.6000
Z =2.4000
对前一步的输出点进行几何逆变换,从逆变换中恢复原始点:
[U,V,W] = transformPointsInverse(tform,X,Y,Z)
U =1
V =1
W =1
这篇关于matlab affine3d解析--三维仿射几何变换的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!