模拟真实翻页,采用双线性插值旋转

 一。 公式

    1.  图像旋转公式:

                        X' =  X cosθ -  Y sinθ;

                        Y' =  X sinθ  + Y cosθ;

                        (X,Y为源点坐标,X',Y'为目标点的坐标, θ为旋转的逆时针方向角度,如使用math.h库,其值为孤度 )

 

               加上平移后:                  

                        X' =  (X-oldCenterX) cosθ -  (Y-oldCenterY) sinθ  + newCenterX;

                        Y' =  (X-oldCenterX) sinθ  + (Y-oldCenterY) cosθ + newCenterY;

                       (oldCenterX,oldCenterY为源点中心点坐标, newCenterX,newCenterY为目标点中心点坐标)

 

                顺时针旋转:

                       X'=rcos(b-a)=rcosbcosa+rsinbsina=Xcosa+Ysina;

                       Y'=rsin(b-a)=rsinbcosa-rcosbsina=-Xsina+Ycosa;

    2.双线性插值公式:

                        f(i+u,j+v)   =   (1-u)(1-v)f(i,j)   +   (1-u)vf(i,j+1)   +   u(1-v)f(i+1,j)   +   uvf(i+1,j+1)

                        (对于一个目的像素,经计算后目标坐标为(i+u,j+v),其中i、j均为非负整数,u、v为[0,1)区间的浮点数,则这个像素得值   f(i+u,j+v)   可由原图像中坐标为   (i,j)、(i+1,j)、(i,j+1)、(i+1,j+1)所对应的周围四个像素的值决定)

 

 

 

二。相关原理

    1.翻页原理:

    翻页显示,就是显示当前页面的同时,在鼠标位置与书角间计算出一片可以显示下一页画面的区域,并在该区域中显示下一页内容。

      如图:  翻页

      显示区域可以在鼠标点与书角间计算出来。通过观察这个右边角翻页可以发现,书折线在两点之间的垂直平分线上,然后各自形成一个三角或四角形区域,这左边显示的是下一页左则图,鼠标点为下一页左下角顶点,边缘也相对应。右边显示的是右侧图。

 

待续.......

 

三。函数代码

    1. 获得双线性值的函数代码

 

 

 

末完等续。。。。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值