电子书翻页算法

主要原理:

  • 将电子书分为3个内容层,叠放顺序如图.第一层为当前页面层,是现在正在显示的页面;第二层是随鼠标拖拽时卷起的页角,第三层是当页角卷起时,露出下一页的层。
  • 设置遮罩:当页边卷起时,层1仅显示四边形FBDE内部分,层2仅显示ABCD部分,层3仅显示BGHD部分.
  • 旋转:层2内的内容要随着鼠标运动而不停变换倾斜角度,其角度始终与AC边斜度一致.
  • 翻页:当页面完全翻过时,层1的当前页数=当前页数+1

程序的核心在于如何获得四个点ABCD的坐标:
我使用的是求垂直平分线的方法,
既:点C是鼠标位置,点H是页角位置,BD即为此两点间的垂直平分线.
由已知的C,H坐标求出直线BD的一次函数y=kx+b
再求出直线BD其与FG,EH的切点,既得点B,D坐标。
点A是点G于直线BD的对称点,通过求点G对BD的对称点既可得点A坐标.
参考地址:
posted @ 2012-07-20 10:48  likebeta  阅读(934)  评论(0编辑  收藏  举报