- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
翻书效果计算
之前看到像ipad上的ibook的模拟书籍翻页的特效感觉很炫,在Android上也有像laputa和ireader等应用实现有这个特效,在网上有哪些信誉好的足球投注网站了一下好像也没有现成的例子,所以自己动手实现了一个,现在将实现的过程记录下来。 实现真实的翻页效果,为了能在翻页的过程中看到下一页的内容,在翻页之前必须准备两张页面,一张是当前页,另一张是下一页。翻页的过程就是对这两张页面的剪切,组合过程。 用户看到的可以分为3部分:当前页的可见部分(下图绿色部分),把书页翻起来后看到的背面区域(下图黄色部分),把书页翻起来后看到的下一页的一角(下图蓝色部分)。 假设我们已经求得了包含黄色区域和蓝色区域的Path, 假设为mPath0,那么绿色区域则可以使用Canvas.clipPath(mPath0, Region.Op.XOR)来剪裁绘制;而蓝色区域则可以通过使用(假设黄色区域的Path为mPath1) Canvas.clipPath(mPath0); Canvas.clipPath(mPath1, Region.Op.DIFFERENCE); //绘制第一次不同于第二次的区域 对clipPath不是很熟的童鞋可以去复习下 自带apidemo的Clipping例子。 下面我们来研究如何求取mPath0: 上图黄色和蓝色区域的mPath0,可以通过以下获取: mPath0.moveTo(jx, jy); mPath0.quadTo(hx, hy, kx, ky); mPath0.lineTo(ax, ay); mPath0.lineTo(bx, by); mPath0.quadTo(ex, ey, cx,cy); mPath0.lineTo(fx, fy); mPath0.close(); 接着就是要求出绘制path0所需的各个顶点。 我们已知的条件是:a点坐标(触摸点),f点坐标(显示界面的大小),直线eh是af的垂直平分线。 剩下的就变成数学问题啦~~ 先来求出g点坐标因为g为af中点: 显然gx=(ax+fx)/2; gy=(ay+fy)/2; e点坐标: 添加补助线gm,m点坐标为(gx, mHeight); 由相似垂直三角形egm和gmf可知: em=gm*gm/mf; 这样e点坐标为:(gx-em, mHeight) 同理可以求出h点坐标。 C点坐标: 为简化计算,我们令n点为ag中点,这样有三角形cjf和ehf得: cx=ex- ef/2 ; c点坐标为:(ex- ef/2, mHeight) 同理求得j点坐标。 以下推导需要较多的数学知识,不记得的童鞋,自觉复习去~~ 一条直线的函数为: Y=ax+b; 通过已知两点求直线: a = (y2-y1)/(x2-x1); b = (x2*y1-y2*x1)/(x2-x1); 两条相交直线交点的坐标为:x= (b2-b1)/(a1-a2); y=a1x+b1或者y=a2x+b2 综上,4点相交的直线的交点为: x=( (x4*y3-y4*x3)/(x4-x3)-(x2*y1-y2*x1)/(x2-x1)) / ((y2-y1)/(x2-x1)- (y4-y3)/(x4-x3) ) = ( (x4*y3-y4*x3) (x2-x1)- (x2*y1-y2*x1) (x4-x3) ) / ( (y2-y1) (x4-x3)- (y4-y3) (x2-x1) ) 将之前求得的 a,e,c,j四个点带入上式则可以求出 b. 同理可求k点。 d点坐标: d为pe的中点,所以: dx=((cx+bx)/2+ex)/2 dy=((cy+by)/2+ey)/2 同理 可求 i 点。 通过上述求解,绘制翻页效果的各个顶点均已得出,剩下的就是贴图,绘制阴影。这部分将在于后的文章中介绍,嘻嘻,喜欢研究的童鞋可以自己试试,懒人们,代码 前给大家讲解了Android实现书籍翻页效果的原理,并在文章结尾处说明要发布源码,呵呵,但是最近有不少琐事缠身,原计划给大家的源码demo没有时间完成,可能要delay啦~~但是由于源码实现啦原理篇所说的大部分效果,只是在阴影方面还是有些bug,所以我将它贴出了让大家都来一起帮忙实现,毕竟授人鱼不如授人渔,实践才是王道。 下面是demo的画面,可以实现四个角的拖拽 由上图可以看到,源码实现啦,翻起页背面和当前页的光影效果,但是翻起页背面的光影效果未实现。 红圈标明处,为翻起页投射在当前页上的阴影的顶点没有定位好,出现的bug,暂时没有时间来修改,需要等手上琐事完成啦在继续,欢迎大家来修改,最好将修改点,也开源告诉大家听~~ 本篇文章来源于 Linux公社网站() 原文链接:/Linux/2011-04/35
您可能关注的文档
最近下载
- (正式版)DB61∕T 1486.8-2021 《设施茄果类蔬菜水肥一体化技术规范 第8部分:辣椒基质栽培》.docx VIP
- (正式版)DB61∕T 1486.8-2021 《设施茄果类蔬菜水肥一体化技术规范 第8部分:辣椒基质栽培》.pdf VIP
- 《光伏玻璃工艺讲解》课件.ppt VIP
- 迅达扶梯9300ae产品介绍.pdf VIP
- SL747-2016采矿业建设项目水资源论证导则.pdf VIP
- 重症医学科专科护士工作汇报.ppt VIP
- 云南省茶叶出口影响因素的实证研究.docx VIP
- crrt专科护士汇报ppt.pptx VIP
- 毕业设计(论文)-星型发动机设计.docx
- 除尘器噪音标准.pdf VIP
有哪些信誉好的足球投注网站
文档评论(0)