📜  二维图形中的剪切

📅  最后修改于: 2021-09-22 10:48:59             🧑  作者: Mango

剪切处理沿 x 轴和 y 轴更改 2D 对象的形状和大小。它类似于在一个方向上滑动图层来改变二维对象的形状。它是一种在二维平面上改变现有对象形状的理想技术。在二维平面中,对象大小可以沿 X 方向和 Y 方向改变。

x-剪切:
在 x 剪切中,y 坐标保持不变,但 x 坐标发生变化。如果 P(x, y) 是点,那么新点将是 P'(x’, y’) 给出如下 –
x'=x+Sh_x*y; y'=y

矩阵形式:
\begin{bmatrix}x'&y'\end{bmatrix}=\begin{bmatrix}x&y\end{bmatrix}.\begin{bmatrix}1&0\\Sh_x&1\end{bmatrix}
y-剪切:
在 y 剪切中,x 坐标保持不变,但 y 坐标发生变化。如果 P(x, y) 是点,那么新点将是 P'(x’, y’) 给出如下 –
x'=x; y'=y+Sh_y*x

矩阵形式:
\begin{bmatrix}x'&y'\end{bmatrix}=\begin{bmatrix}x&y\end{bmatrix}.\begin{bmatrix}1&Sh_y\\0&1\end{bmatrix}

xy 剪切:
在 xy 剪切中,x 和 y 坐标都会发生变化。如果 P(x, y) 是点,那么新点将是 P'(x’, y’) 给出如下 –
x'= x+Sh_x*y; y'=y+Sh_y*x

矩阵形式:
\begin{bmatrix}x'&y'\end{bmatrix}=\begin{bmatrix}x&y\end{bmatrix}.\begin{bmatrix}1&Sh_y\\Sh_x&1\end{bmatrix}

例子 :
给定一个带有 (1, 1)、(0, 0) 和 (1, 0) 点的三角形。
找出对象沿 x 轴、y 轴、xy 轴的新坐标。
(在 X 轴上应用剪切参数 4,在 Y 轴上应用 1。)。

解释 –

Given,
Old corner coordinates of the triangle = A (1, 1), B(0, 0), C(1, 0)
Shearing parameter along X-axis (Shx) = 4
Shearing parameter along Y-axis (Shy) = 1

Along x-axis:
A'=(1+4*1, 1)=(5, 1)
B'=(0+4*0, 0)=(0, 0)
C'=(1+4*0, 0)=(1, 0)

Along y-axis:
A''=(1, 1+1*1)=(1, 2)
B''=(0, 0+1*0)=(0, 0)
C''=(1, 0+1*1)=(1, 1)

Along xy-axis:
A'''=(1+4*1, 1+1*1)=(5, 2)
B'''=(0+4*0, 0+1*0)=(0, 0)
C'''=(1+4*0, 0+1*1)=(1, 1)