主要内容

HGTransform金宝app支持的转换

转换对象

转换对象的矩阵财产将转换适用于所有物体的孩子一致。转换包括旋转,翻译和缩放。用四乘四的转换矩阵定义转换。

创建转换矩阵

makehgtform功能简化了矩阵的构造以执行旋转,翻译和缩放。有关创建转换矩阵的信息makehgtform, 看巢转换为复杂运动

回转

旋转转换遵循右手规则 - 旋转对象X- ,,y-, 或者z- 轴,正角向逆时针旋转,同时沿着各个轴向原点看到。如果旋转角度为theta,则以下矩阵定义了theta围绕X轴的旋转。

要创建一个转换矩阵以绕任意轴旋转,请使用makehgtform功能。

翻译

翻译转换对象相对于当前位置。将翻译指定为距离tX,,,,ty, 和tz在数据空间单元中。以下矩阵显示了这些元素在变换矩阵中的位置。

缩放

缩放变换会改变对象的尺寸。指定比例因素sX,,,,sy, 和sz并构造以下矩阵。

您不能使用少于或等于零的比例因素。

默认转换

默认转换是身份矩阵,您可以使用它来创建眼睛功能。这是身份矩阵。

撤消转换操作

不允许转换:透视

透视转换会改变您查看对象的距离。以下矩阵是透视变换矩阵的一个示例,该矩阵matlab®图形不允许。

[[ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 p X 0 这是给予的

在这种情况下,pX是观点因素。

不允许转换:剪切

剪切变换沿给定线(或平面,3-D坐标)保持所有点,同时将所有其他点平行于与固定线(平面)垂直距离成比例成比例的线(平面)。以下矩阵是剪切变换矩阵的一个示例,hgtransform不允许。

[[ 1 s X 0 0 0 1 0 0 0 0 1 0 0 0 0 1 这是给予的

在这种情况下,sX是剪切因子,可以替换身份矩阵中的任何零元素。

绝对与相对变换

转换以绝对术语指定,而不是相对于当前变换。例如,如果您应用转换,该转换将转换对象转换为5个单位X方向,然后您应用另一个转换,将其转换为4个单位y方向,对象的结果位置是4个单位y从其原始位置的方向。

如果您希望转换积累,则必须将单个转换为单个矩阵的连接。看将转换组合为一个矩阵

将转换组合为一个矩阵

通常,将各种转换操作组合为一个矩阵,通过串联(乘法)将各个矩阵结合并设置一个矩阵,通常更有效矩阵属性为结果。矩阵乘法不合理,因此您乘以矩阵的顺序会影响结果。

例如,假设您要执行缩放,翻译然后旋转的操作。假设r,,,,ts您的个人转换矩阵是否如下乘以矩阵:

c = r*t*s从右到左进行操作的百分比

s是缩放矩阵,t是翻译矩阵,r是旋转矩阵,C是三个操作的综合。然后设置转换对象的矩阵财产为C

hg = hgtransform('矩阵',C);

将转换乘以身份矩阵

以下一组语句不是等效的。第一组:

hg.matrix = c;hg.matrix =眼睛(4);

导致去除变换C。第二组:

i =眼(4);c = i*r*t*s;hg.matrix = c;

应用转换C。将身份矩阵连接到其他矩阵对复合矩阵没有影响。

撤消转换操作

由于转换操作是以绝对术语指定的(不是相对于当前变换),因此您可以通过将当前变换设置为身份矩阵来撤消一系列变换。例如:

hg = hgtransform('矩阵',C);...hg.matrix =眼睛(4);

返回转换对象包含的对象,HG,在应用转换之前向他们的方向C

有关身份矩阵的更多信息,请参阅眼睛功能

也可以看看

||

相关话题