剪切变换与我们在2D空间中看到的相同,但是这里我们必须处理x,y和z轴,而在2D中我们仅处理x和y轴。剪切是在3D空间中沿x,y或z方向倾斜对象的过程。剪切会改变(或变形)对象的形状。当我们讨论3D空间时,也可以在以下三个方向中的任何一个上进行剪切。下面给出的是剪切变换的类型。
- 在X方向上剪切。
- y方向的剪切
- 在z方向上剪切。
X方向的剪切:此处的X坐标保持不变,而Y和Z的坐标发生变化。剪切是通过剪切转换矩阵完成的,其表示如下。
考虑3D空间中的点P [x,y,z],在该点上我们在X方向上执行剪切变换,并变为P'[x,y,z]。
Y方向的剪切:此处的Y坐标保持不变,而X和Z的坐标发生变化。剪切是通过剪切转换矩阵完成的,其表示如下。
考虑3D空间中的一个点P [x,y,z],在该点上我们在Y方向上执行剪切变换,它变为P'[x,y,z]。
Z方向的剪切:此处的Z坐标保持不变,而X和Y的坐标发生变化。剪切是通过剪切转换矩阵完成的,对于Z方向的剪切,其表示如下。
考虑3D空间中的一个点P [x,y,z],在该点上我们在Z方向上执行剪切变换,并变成P'[x,y,z]。
注意:此处,x n ,y n ,z n显示=新值,x o ,y o ,z o显示=旧值。
如果剪切参数如下S x = 2,S y = 3,则在给定的长方体(OABCDEFG)上沿Z方向执行剪切变换。
z方向的剪切变形矩阵如下。
给定的长方体如下:
现在,我们将剪切转换条件应用于所有坐标,并计算新的对应坐标:
执行反射变换后,点O [0,0,0]变为O’:
执行反射变换后,点A'[0,0,4]变为A’:
执行反射变换后,点B'[0,0,4]变为B’:
执行反射变换后,点C'[2,4,0]变为C’:
执行反射变换后,点D'[2,2,4]变为D’:
执行反射变换后,点E'[2,0,0]变为E’:
执行反射变换后,点F'[0,0,2]变为F’:
执行反射变换后,点G'[2,0,2]变为G’:
最后,在对给定的长方体执行剪切变形后,图1将如下所示: