二维图形基本几何变换是指相对于坐标原点和坐标轴进行的几何变换,包括平移(Translate)、比例(Scale)、旋转(Rotate)、反射(Reflect)和错切(shear)5种变换。物体变换物体变换是通过变换物体上每一个顶点实现的,因此以点的二维基本几何变换为例讲解二维图形基本几何变换矩阵。
下面给出C++实现二维图形基本几何变换的具体代码。算法中只包含平移和旋转两种变换。使用时,直接调用函数translation 和 whirling 即可。
读者若有其他变换需求,只需模仿这两种变换,将变换矩阵的值进行修改即可。
MatrixTransformation.h
1 | class MatrixTransformation |
MatrixTransformation.cpp
1 | MatrixTransformation::MatrixTransformation() |