opengl实现错切效果

来源:互联网 发布:显示器校准软件 编辑:程序博客网 时间:2024/04/29 18:09

  错切变换是使图形产生一个扭变。分为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;    } }





0 0
原创粉丝点击