opengl实现错切效果

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





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值