变换对象的矩阵
属性齐声将转换应用于所有对象的孩子。变换包括旋转,翻译和缩放。使用四×四个变换矩阵定义变换。
这makehgtform.
功能简化了矩阵的构造,执行旋转,翻译和缩放。有关使用变换矩阵使用的信息makehgtform.
, 看嵌套转换复杂运动。
旋转变换遵循右侧规则 - 旋转对象X- ,y-, 或者Z.-AXIS,正方形逆时针旋转,同时沿各个轴线朝向起源。如果旋转角度是θ,则以下矩阵限定了绕X轴的θ的旋转。
要创建转换矩阵以绕任意轴旋转,请使用makehgtform.
功能。
翻译转换对其当前位置的移动对象。将翻译指定为距离T.X那T.y, 和T.Z.在数据空间单元中。以下矩阵显示了变换矩阵中这些元素的位置。
缩放变换更改对象的大小。指定比例因子S.X那S.y, 和S.Z.并构建以下矩阵。
您不能使用小于或等于零的比例因子。
默认变换是标识矩阵,您可以使用该矩阵眼睛
功能。这是身份矩阵。
看撤消变换操作。
透视变换更改您查看对象的距离。以下矩阵是MATLAB的透视变换矩阵的示例®图形不允许。
在这种情况下,P.X是透视因素。
剪切变换沿着给定的线(或平面,3-D坐标)保持所有点,同时将平行于线(平面)的所有其他点移位到与距固定线(平面)的垂直距离成比例。以下矩阵是剪切变换矩阵的示例,其Hgtransform.
不允许。
在这种情况下,S.X是剪切因子,可以替换身份矩阵中的任何零元素。
变换以绝对术语指定,而不是相对于当前变换。例如,如果应用转换转换对象5个单位的转换X方向,然后您将另一种转换应用于其中4个单位y方向,物体的所得到的位置是4个单位y从其原始位置的方向。
如果要将转换累计累积,则必须将个体转换为单个矩阵。看将变换变为一个矩阵。
通过连接(乘以)各个矩阵并设置为一个矩阵通常更有效矩阵
结果的财产。矩阵乘法不是换向,因此您将矩阵乘以的顺序会影响结果。
例如,假设要执行缩放,转换,然后旋转的操作。假设R.
那T.
和S.
是您的单个变换矩阵,将矩阵乘以如下:
c = r * t * s%操作从右到左进行
S.
是缩放矩阵,T.
是翻译矩阵,R.
是旋转矩阵,和C
是三个操作的综合。然后设置变换对象的矩阵
财产C
:
hg = hgtransform('矩阵',C);
以下陈述不等同。第一个:
hg.matrix = c;hg.matrix =眼睛(4);
导致移除变换C.第二组:
我=眼睛(4);c = i * r * t * s;hg.matrix = c;
适用变换C
。将标识矩阵连接到其他矩阵对复合矩阵没有影响。
因为转换操作以绝对术语(不相对于当前变换)指定,所以您可以通过将当前变换设置为身份矩阵来撤消一系列变换。例如:
hg = hgtransform('矩阵',C);......hg.matrix =眼睛(4);
返回转换对象包含的对象,赫格
在应用变换之前的定向C
。
有关身份矩阵的更多信息,请参阅眼睛
功能