错切变换是使图形产生一个扭变。分为x和y方向的错切变换。
图形沿x方向的错切矩阵表示为
此时,图形的y坐标不变,x坐标随坐标(x y)和系数b作线性变化。b>0,图形沿+x方向做错切;b<0,图形沿-x方向做错切;b≠0。 图形沿y方向的错切矩阵表示为 此时,图形的x坐标不变,y坐标随坐标(x y)和系数d作线性变化。d>0,图形沿+y方向做错切;d<0,图形沿-y方向做错切;d≠0 |
void shearShapeX(GLfloat factor) {
if(factor == 0) return;
GLint length = sizeof(point) / sizeof(point[0]);
for(GLint i = 0; i < length; ++i) {
point[i].fx = point[i].fx + factor * point[i].fy;
}
}
void shearShapeY(GLfloat factor) {
if(factor == 0) return;
GLint length = sizeof(point) / sizeof(point[0]);
for(GLint i = 0; i < length; ++i) {
point[i].fy = point[i].fy + factor * point[i].fx;
}
}