公开/公告号CN105955599A
专利类型发明专利
公开/公告日2016-09-21
原文格式PDF
申请/专利权人 锐达互动科技股份有限公司;
申请/专利号CN201610317035.7
申请日2016-05-13
分类号
代理机构福州市鼓楼区京华专利事务所(普通合伙);
代理人宋连梅
地址 350000 福建省福州市仓山区建新镇金山大道618号桔园洲工业园鼓楼园8号楼
入库时间 2023-06-19 00:30:14
法律状态公告日
法律状态信息
法律状态
2023-05-23
未缴年费专利权终止 IPC(主分类):G06F 3/0483 专利号:ZL2016103170357 申请日:20160513 授权公告日:20190607
专利权的终止
2019-06-07
授权
授权
2018-06-12
著录事项变更 IPC(主分类):G06F3/0483 变更前: 变更后: 申请日:20160513
著录事项变更
2016-10-19
实质审查的生效 IPC(主分类):G06F3/0483 申请日:20160513
实质审查的生效
2016-09-21
公开
公开
技术领域
本发明涉及信息技术领域,尤其涉及一种在电子设备上模拟文档阅读方式的实现方法。
背景技术
随着科学技术的发展,手机、电子书、电子相框等电子装置越来越广泛地被人们使用。人们经常使用电子书、电子相框等电子装置浏览小说等文字文档,或翻看相片、图片,给人们生活带来了不少乐趣。
然而,现在一般的电子书或电子相框翻阅文字文档或图片时,都是直接用下一页代替当前页,缺乏模拟实际翻页效果,动态显示翻页过程的功能,用户在翻看文档时,会因为与实际翻页的差异而体会不到翻书的感觉。而目前已有软件虽然能够通过鼠标拖拽来仿真实际翻书的效果,但是计算量大,对硬件要求高,一般的电子书或电子相框难以达到该要求。
随着计算机的迅速发展,相关的电子文档大量出现,丰富和促进了人们的文化生活,同时,因电子文件文档便于携带的特点而深受人们喜爱。当前,文档阅读方式大都采用微软的office软件,该软件从上至下或从右至左等排列方式将文本排列在一个矩形区域内,供人们浏览,在电子设备上进行电子文档阅读的方式也主要是通过该文档阅读工具进行阅读的。这种阅读方式简明直观,方便易用。在现实情况下,文档布局件从上至下或从右至左等排列方式将文本排列在一个矩形区域类,当用户翻页时,页面卷起,并以页角或页面边缘为移动起点向某一方向移动。通过设计一个数学模型来实现该动作的计算机模拟。真实的文档由于技术原因,往往都是将文本印刷在纸上,用户对资料的认识只能来自视觉或触觉(盲文),这极大地限制了读者对文档的感官印象。随着计算机技术的发展,新技术新理念不断出现,人们对计算机软件从要求简单易用的软件逐步提高。因此,一种模仿现实阅读并且能够提 供更丰富的阅读体验的软件成为迫切需要满足的用户需求。
在2011年7月29日申请的申请号为201110215422.7的中国发明,提供一种电子书模拟翻页效果实现方法及系统,该方法包括检测步骤:确定电子书的边界以及可能的翻页起始点,检测初始的翻页点确定翻页起始点及翻页方向,并确定翻页边界;计算步骤:做一条线段连接翻页点及翻页起始点,并做线段的垂直平分线,计算垂直平分线与翻页边界的交点,以翻页点及两个交点为顶点做三角形形成页面区域;渲染步骤:对页面区域在显示区域内的部分进行着色渲染;检测下一翻页点,重复执行计算步骤及渲染步骤,直至翻页点消失。该系统包括执行上述检测步骤的检测单元、执行计算步骤的计算单元及执行渲染步骤的渲染单元。
在2010年08月24日申请的申请号为201010260229.0的中国发明,公开了一种电子书模拟真实翻页效果的方法,包括:显示当前页面,初始化程序相关动作,接收外部输入;分析输入信息,确定相应改变的状态;根据状态信息,算出翻动的部分对应的各个点的坐标;系统将获取到的图像显示于显示屏上;判断是否翻过一页,是则主动请求系统解码相应页码图像,并传入处理层,显示下一页面;否则显示当前页面,继续接收外部输入。
发明内容
本发明要解决的技术问题,在于提供一种在电子设备上模拟文档阅读方式的实现方法,实现了电子文档翻页模拟,具有占用内存少,cpu占用率高的特点。
本发明是这样实现的:
一种在电子设备上模拟文档阅读方式的实现方法,包括如下步骤:
步骤100、在电子设备上设定有加载内存阈值;
步骤200、将静态书页内容处理为图片或文本,将动态书页内容处理为活动部件,并将书页内容加载到电子设备的内存中;根据所述加载内存阈值控制加载到内存中书页的页面数量,当加载的书页的页面所占用的内存超过该加载内存阈值,则保留该加载内存阈值内所能阅读的页面,而释放其他页 面占用的内存;
步骤300、将保留下来的页面内容添加到窗体中,并进行显示;
步骤400、页面在翻页前为矩形区域,鼠标或触控点位于该矩形区域的边缘上,当mousedown或touchdown在该矩形区域的边缘上触发时,则认为用户触发了翻页行为,并进行相应操作的初始化工作;
步骤500、开始进行翻页,先确定拉动点,通过拉动点进行拉动来完成翻页过程,确定出各个顶点的坐标,根据各个顶点的坐标确定出由翻页过程形成的区域R1、区域R2及区域S1,对区域R1、区域R2及区域S1内的书页内容进行阅读;
步骤600、当拉动所述拉动点至区域R1及区域R2与翻页前的矩形区域一致时,说明本次翻页完成,跳转到步骤400进入下一次翻页;
步骤700、当加载的页面都翻页完成后,进入步骤200开始下一轮的翻页;
步骤800、当不继续翻页时,结束流程。
进一步地,所述步骤200中根据所述加载内存阈值控制加载到内存中书页的页面数量;若所述电子设备为单页显示,则加载范围至少包含三个显示页面,三个所述显示页面具体为一此时用户操作的显示页面、一此时用户操作的显示页面的前一个显示页面及一此时用户操作的显示页面的后一个显示页面;若所述电子设备为双页显示,则加载范围至少包含六个显示页面,六个所述显示页面具体为一此时用户操作的两个显示页面、一此时用户操作的显示页面的前两个显示页面及一此时用户操作的显示页面的后两个显示页面。
进一步地,所述步骤500具体如下:
步骤501、开始进行翻页,书页的页面为矩形,四个顶点分别为左上顶点Pa、左下顶点Pb、右下顶点Pc及右上顶点Pd,当页面左上顶点Pa、左下顶点Pb、右下顶点Pc或右下顶点Pd为拉动点时,该拉动点对应一顶点A,通过拉动点进行拉动具体为:
(1)若拉动过程中顶点A始终是沿着水平线移动,则有:
交点Phr在左上顶点Pa与右上顶点Pd之间、交点Pvr的坐标在左下顶点Pb与右下顶点Pc之间,即区域R1与区域R2呈矩形时,翻页后产生一与顶点A相对的一点B,顶点A、点B、左上顶点Pa、左下顶点Pb、右下顶点Pc及右上顶点Pd的坐标已知,翻页后的交点Phr为左上顶点Pa及顶点A的中点,翻页后的交点Pvr为左下顶点Pb及点B的中点,则根据左上顶点Pa的坐标及顶点A的坐标计算出交点Phr的坐标,根据左下顶点Pb及点B的坐标计算出交点Pvr的坐标,然后由左上顶点Pa、左下顶点Pb、交点Pvr及交点Phr的坐标确定出区域R1,由交点Phr、交点Pvr、点B及顶点A的坐标确定出区域R2,由顶点A、点B、右下顶点Pc及右上顶点Pd的坐标确定出区域S1,对该区域R1、该区域R2及该区域S1内的书页内容进行阅读;
(2)若拉动过程中顶点A是倾斜向内移动,则有:
当交点Pvr的坐标在左上顶点Pa与左下顶点Pb之间,即区域R1与区域R2呈三角形时,左上顶点Pa、左下顶点Pb、右下顶点Pc、右上顶点Pd及顶点A的坐标已知,根据已知的坐标计算出交点Phr及交点Pvr的坐标,然后由左上顶点Pa、交点Pvr及交点Phr的坐标确定出区域R1,由顶点A、交点Pvr及交点Phr的坐标确定出区域R2,由交点Phr、顶点A、交点Pvr、左下顶点Pb、右下顶点Pc及右上顶点Pd的坐标确定出区域S1,对该区域R1、该区域R2及该区域S1内的书页内容进行阅读;其中,交点Pvr及交点Phr坐标的计算方法如下:
1)计算出顶点A与左上顶点Pa的距离dAPa,并计算单位矢量
2)设线段APa中点为点Pm,则线段APm的长度dAPm为dAPa的一半,则求出矢量从而求出点Pm的坐标;
3)因为线段PaA被直线PhrPvr垂直平分,固定点Pm,将矢量顺时针旋转90度,获得新向量A1Pm,并求解出点A1的坐标,直线A1Pm分别与直线PaPd及直线PaPb构成交点Phr及交点Pvr;
4)点Pm及点A1的坐标已知,根据直线公式y=kx+b,求得直线A1Pm 公式,而PaPd直线公式为y=Pa.y,直线PaPb公式为x=Pa.x,由此组成二元一次方程组求解出交点Phr及交点Pvr的坐标;
当交点Pvr的坐标在左下顶点Pb与右下顶点Pc之间,即区域R1与区域R2呈直角梯形时,翻页后产生一与左下顶点Pb相对的一点Pb1,左上顶点Pa、左下顶点Pb、右下顶点Pc、右上顶点Pd及顶点A的坐标已知,根据已知的坐标计算出交点Phr、交点Pvr及点Pb1的坐标,然后由左上顶点Pa、交点Pvr、交点Pvr及交点Phr的坐标确定出区域R1,由顶点A、点Pb1、交点Pvr及交点Phr的坐标确定出区域R2,由交点Phr、交点Pvr、右下顶点Pc及右上顶点Pd的坐标确定出区域S1,对该区域R1、该区域R2及该区域S1内的书页内容进行阅读;其中,交点Pvr、交点Phr及点Pb1坐标的计算方法如下:
1)计算出顶点A与左上顶点Pa的距离dAPa,并计算单位矢量
2)设线段APa中点为点Pm,则线段APm的长度dAPm为dAPa的一半,则求出矢量从而求出点Pm的坐标;
3)因为线段PaA被直线PhrPvr垂直平分,固定点Pm,将矢量顺时针旋转90度,获得新向量并求解出点A1的坐标,直线A1Pm分别与直线PaPd及直线PaPb构成交点Phr及交点Pvr;
4)点Pm及点A1的坐标已知,根据直线公式y=kx+b,求得直线A1Pm公式,而PaPd直线公式为y=Pa.y,直线PaPb公式为x=Pa.x,由此组成二元一次方程组求解出交点Phr及交点Pvr的坐标;
5)交点Pvr为直线A1Pm与直线PbPc的交点,在求解出交点Pvr后,即可获得矢量固定交点Pvr,将该矢量逆时针旋转∠PaPhrA度获得的新矢量由于线段PbPvr和线段PvrPb1长度相等,而∠PaPhrA和∠PbPvrPb1相等,因此旋转后的向量等于矢量由此可计算出点Pb1的坐标;
步骤502、当页面左中上端点、左中下端点、右中上端点或右中下端点为拉动点时,当翻页触发时,鼠标或触控点在直线PaPb上有拉动点PA1, 翻页过程中拉动点PA1随着鼠标或触控点移动,翻页后产生一与拉动点PA1相对的一点PA2,通过拉动点PA1进行拉动具体为:
当交点Pvr的坐标在左上顶点Pa与左下顶点Pb之间,即区域R1与区域R2呈三角形时,左上顶点Pa、左下顶点Pb、右下顶点Pc、右上顶点Pd、拉动点PA1及点PA2的坐标已知,根据已知的坐标计算出交点Phr、交点Pvr及顶点A的坐标,然后由左上顶点Pa、交点Pvr及交点Phr的坐标确定出区域R1,由拉动点A、交点Pvr及交点Phr的坐标确定出区域R2,由交点Phr、拉动点A、交点Pvr、左下顶点Pb、右下顶点Pc及右上顶点Pd的坐标确定出区域S1,对该区域R1、该区域R2及该区域S1内的书页内容进行阅读;其中,交点Pvr、交点Phr及顶点A坐标的计算方法如下:
1)根据拉动点PA1及点PA2的坐标计算出拉动点PA1与点PA2的距离dPA1PA2,并计算单位矢量
2)设线段PA1PA2中点为点Pm1,则线段PA2Pm1的长度dPA2Pm1为dPA1PA2的一半,则求出矢量从而求出点Pm1的坐标;
3)因为线段PA1PA2被直线PhrPvr垂直平分,固定点Pm1,将矢量PA2Pm1顺时针旋转90度,获得新矢量PA3Pm1,并求解出点PA3的坐标,直线PA3Pm1分别与直线PaPd及直线PaPb或PbPc构成交点Phr及交点Pvr;
4)点Pm1及点PA3的坐标已知,根据直线公式y=kx+b,求得直线Pm1PA3公式,而PaPd直线公式为y=Pa.y,直线PaPb公式为x=Pa.x,由此组成二元一次方程组求解出交点Phr及交点Pvr的坐标;
5)根据左上顶点Pa、交点Phr及交点Pvr的坐标计算出顶点A的坐标;
当交点Pvr的坐标在左下顶点Pb与右下顶点Pc之间,即区域R1与区域R2呈直角梯形时,翻页后产生一与左下顶点Pb相对的一点Pb1,左上顶点Pa、左下顶点Pb、右下顶点Pc、右上顶点Pd、拉动点PA1及点PA2的坐标已知,根据已知的坐标计算出交点Phr、交点Pvr、点Pb1及顶点A的坐标,然后由左上顶点Pa、交点Pvr、交点Pvr及交点Phr的坐标确定出区域R1,由顶点A、点Pb1、交点Pvr及交点Phr的坐标确定出区域R2,由 交点Phr、交点Pvr、右下顶点Pc及右上顶点Pd的坐标确定出区域S1,对该区域R1、该区域R2及该区域S1内的书页内容进行阅读;其中,交点Pvr、交点Phr、点Pb1及顶点A坐标的计算方法如下:
1)根据拉动点PA1及点PA2的坐标计算出拉动点PA1与点PA2的距离dPA1PA2,并计算单位矢量
2)设线段PA1PA2中点为点Pm1,则线段PA2Pm1的长度dPA2Pm1为dPA1PA2的一半,则求出矢量从而求出点Pm1的坐标;
3)因为线段PA1PA2被直线PhrPvr垂直平分,固定点Pm1,将矢量顺时针旋转90度,获得新矢量并求解出点PA3的坐标,直线PA3Pm1分别与直线PaPd及直线PaPb或PbPc构成交点Phr及交点Pvr;
4)点Pm1及点PA3的坐标已知,根据直线公式y=kx+b,求得直线Pm1PA3公式,而PaPd直线公式为y=Pa.y,直线PaPb公式为x=Pa.x,由此组成二元一次方程组求解出交点Phr及交点Pvr的坐标;
5)交点Pvr为直线PA3Pm1与直线PbPc的交点,在求解出交点Pvr后,即可获得矢量固定交点Pvr,将该矢量逆时针旋转∠PaPhrA度获得的新矢量由于线段PbPvr和线段PvrPb1长度相等,而∠PaPhrA和∠PbPvrPb1相等,因此旋转后的向量等于矢量由此可计算出点Pb1的坐标;
6)由于直线APb1与直线PvrPb1垂直,而线段PaPb与线段APb1长度相同,固定点Pb1,将矢量向着顶点A方向旋转90度,获得新矢量求得单位矢量从而求得矢量至此,顶点A的坐标求出;
步骤501与步骤502没有先后顺序。
进一步地,所述步骤501或步骤502之后还包括:
步骤503、对区域R2与区域S1的集合路径进行进一步处理,对线段PhrA进行曲线化处理,其处理方式是将交点Phr及顶点A代入二次贝塞尔曲线公式中,计算出一中间点P1,然后绘制出交点Phr、顶点A及点P1三 点组成的曲线;同理,对线段APvr进行曲线化处理。
进一步地,所述步骤503之后还包括:
步骤504、在区域R1与区域R2的重合处添加阴影纹理,其添加方法是在线段PhrPvr两侧设置阴影纹理区域RSh1及阴影纹理区域RSh2,通过将区域PhrPvr向左右两侧分别平移dSh后,获得新直线Phr1Pvr1及Phr2Phvr2,其与页面边缘存在交点,求解这些交点即可获得阴影纹理区域RSh1及阴影纹理RSh2的几何路径;将dSh设定为依赖于页宽,即dSh的数值与页宽有关,dSh=k*dPW,0<k<1,从而使阴影纹理区域随着页面翻动变化,将渐变颜色填充到相应的阴影纹理区域内。
进一步地,所述步骤500中进行翻页的过程中有:
在电子设备上还设定有触发点,当翻页过程中触碰到所述触发点时,就进行自动翻页。
本发明具有如下优点:本发明主要是模拟人们阅读文档的各个过程,为人们提供了一种在电子设备上阅读文档的新方式;本发明通过将文档内容(包括但不限于文本、视频、图片等)处理为书页,通过模拟书本阅读过程,动态加载书页以及模拟书本翻页过程中的各个细节,生动地模拟了现实的文档,丰富了电子文件的阅读过程,具有占用内存少,cpu使用率低的特点,操作流畅。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明中页面左上顶点Pa、左下顶点Pb、右下顶点Pc或右下顶点Pd为拉动点且区域R1及区域R2为矩形时的结构示意图。
图2为本发明中页面左上顶点Pa、左下顶点Pb、右下顶点Pc或右下顶点Pd为拉动点且区域R1及区域R2为三角形时的结构示意图。
图3为本发明中页面左上顶点Pa、左下顶点Pb、右下顶点Pc或右下顶点Pd为拉动点且区域R1及区域R2为直角梯形时的结构示意图。
图4为本发明中页面左中上端点、左中下端点、右中上端点或右中下端 点为拉动点且区域R1及区域R2为三角形时的结构示意图。
图5为本发明中页面左中上端点、左中下端点、右中上端点或右中下端点为拉动点且区域R1及区域R2为直角梯形时的结构示意图。
具体实施方式
为使得本发明更明显易懂,现以一优选实施例,并配合附图作详细说明如下。
如图1至图5所示,本发明的一种在电子设备上模拟文档阅读方式的实现方法,包括如下步骤:
步骤100、在电子设备上设定有加载内存阈值;
步骤200、将静态书页内容处理为图片或文本,将动态书页内容处理为活动部件,视频、flash等动态书页内容以活动部件形式存在于页面中,而且只有可视页面才会显示这些部件,并将书页内容加载到电子设备的内存中;当加载很多书页,占用的内存会急剧增大,甚至会导致电子设备系统崩溃,因此,书页的加载策略为动态的,该策略的原则是至始至终加载的书页不超过一定数量,并且加载的页数是动态;根据所述加载内存阈值控制加载到内存中书页的页面数量,当加载的书页的页面所占用的内存超过该加载内存阈值,则保留该加载内存阈值内所能阅读的页面,而释放其他页面占用的内存;
若所述电子设备为单页显示,则加载范围至少包含三个显示页面,三个所述显示页面具体为一此时用户操作的显示页面、一此时用户操作的显示页面的前一个显示页面及一此时用户操作的显示页面的后一个显示页面;若所述电子设备为双页显示,则加载范围至少包含六个显示页面,六个所述显示页面具体为一此时用户操作的两个显示页面、一此时用户操作的显示页面的前两个显示页面及一此时用户操作的显示页面的后两个显示页面;本实施例中,选择双页显示的电子设备进行阅读;
步骤300、将保留下来的页面内容添加到窗体中,并进行显示;
步骤400、页面在翻页前为矩形区域,鼠标或触控点位于该矩形区域的边缘上,当mousedown或touchdown在该矩形区域的边缘上触发时,则认 为用户触发了翻页行为,并进行相应操作的初始化工作;
步骤500、开始进行翻页,先确定拉动点,通过拉动点进行拉动来完成翻页过程,确定出各个顶点的坐标,根据各个顶点的坐标确定出由翻页过程形成的区域R1、区域R2、区域S1及区域S2,对区域R1、区域R2、区域S1及区域S2内的书页内容进行阅读;同时,在电子设备上还设定有触发点,当翻页过程中触碰到所述触发点时,就进行自动翻页;具体如下:
步骤501、开始进行翻页,电子设备为双页显示,则书页的页面为两个并排设备的等尺寸矩形,两矩形形成的六个顶点分别为左上顶点Pa、左下顶点Pb、中下顶点Pc、中上顶点Pd、右上顶点Pe及右下顶点Pf,当页面左上顶点Pa、左下顶点Pb、右上顶点Pe或右下顶点Pf为拉动点时,该拉动点对应一顶点A,页面区域内形成几何区域R1及区域R2,从几何角度分析,该区域在文档上存在以下关系特征:
1)拉动的顶点A为该区域R2上一个顶点,并且该点为鼠标或触控点坐标;
2)左上顶点Pa为区域R1上的顶点,同时也是页面顶点;
3)区域R1和区域R2为相等多边形,并存在交点Phr和交点Pvr,交点Phr的运动轨迹在左上顶点Pa和中上顶点Pd之间;交点Pvr的运动轨迹为左上顶点Pa到左下顶点Pb或左下顶点Pb到中下顶点Pc;
4)左上顶点Pa、交点Pvr及顶点A组成等腰三角形,其中线段PaPvr和线段PvrA为相等的两条边;
5)翻页过程中,书本共分为4个区域,分别是区域R1、区域R2、区域S1及区域S2,由此可知,翻页模拟的要点即是求解这些区域的几何路径。
当未触发翻页时,区域R1和区域R2的几何路径不存在,而区域S1和区域S2分别为书本两页的页面几何路径。即:
R1:不存在,
R2:不存在,
S1:由左上顶点Pa、左下顶点Pb、中下顶点Pc、中上顶点Pd组成,
S2:由中上顶点Pd、中下顶点Pc、右上顶点Pf、右下顶点Pe组成,
触发翻页时,当交点Pvr的坐标在左上顶点Pa与左下顶点Pb之间时,区域R1、区域R2、区域S1、区域S2的几何路径为:
R1:由左上顶点Pa、交点Pvr、交点Phr组成,
R2:由顶点A、交点Pvr、交点Phr组成,
S1:由交点Phr、顶点A、交点Pvr、左下顶点Pb、中下顶点Pc、中上顶点Pd组成,
S2:由中上顶点Pd、中下顶点Pc、右下顶点Pf、右上顶点Pe组成,
当交点Pvr坐标在左下顶点Pb与中下顶点Pc之间时,区域R1、区域R2、区域S1、区域S2的几何路径为:
R1:由左上顶点Pa、左下顶点Pb、交点Pvr、交点Phr组成,
R2:由顶点A、点Pb1、交点Pvr、交点Phr组成,
S1:由交点Phr、顶点A、交点Pvr、左下顶点Pb、中下顶点Pc、中上顶点Pd组成,
S2:由中上顶点Pd、中下顶点Pc、右上顶点Pf、右下顶点Pe组成,
由上可知,区域S2与翻页操作无关,而区域R1、区域R2、区域S1依赖于交点Pvr、交点Phr和点Pb1。因此,问题的关键在于交点Pvr、交点Phr及点Pb1三个点的求解。
通过拉动点进行拉动具体为:
(1)若拉动过程中顶点A始终是沿着水平线移动,则有:
交点Phr在左上顶点Pa与中上顶点Pd之间、交点Pvr的坐标在左下顶点Pb与中下顶点Pc之间,即区域R1与区域R2呈矩形时,翻页后产生一与顶点A相对的一点B,顶点A、点B、左上顶点Pa、左下顶点Pb、中下顶点Pc、中上顶点Pd、右上顶点Pe及右下顶点Pf的坐标已知,翻页后的交点Phr为左上顶点Pa及顶点A的中点,翻页后的交点Pvr为左下顶点Pb及点B的中点,则根据左上顶点Pa的坐标及顶点A的坐标计算出交点Phr的坐标,根据左下顶点Pb及点B的坐标计算出交点Pvr的坐标,然后由左上顶点Pa、左下顶点Pb、交点Pvr及交点Phr的坐标确定出区域R1,由交 点Phr、交点Pvr、点B及顶点A的坐标确定出区域R2,由顶点A、点B、中下顶点Pc及中上顶点Pd的坐标确定出区域S1,由中下顶点Pc、中上顶点Pd、右上顶点Pe及右下顶点Pf的坐标确定出区域S2,对该区域R1、该区域R2、该区域S1及该区域S2内的书页内容进行阅读;
(2)若拉动过程中顶点A是倾斜向内移动,则有:
当交点Pvr的坐标在左上顶点Pa与左下顶点Pb之间,即区域R1与区域R2呈三角形时,左上顶点Pa、左下顶点Pb、中下顶点Pc、中上顶点Pd、上顶点Pe、右下顶点Pf及顶点A的坐标已知,根据已知的坐标计算出交点Phr及交点Pvr的坐标,然后由左上顶点Pa、交点Pvr及交点Phr的坐标确定出区域R1,由顶点A、交点Pvr及交点Phr的坐标确定出区域R2,由交点Phr、顶点A、交点Pvr、左下顶点Pb、中下顶点Pc及中上顶点Pd的坐标确定出区域S1,由中下顶点Pc、中上顶点Pd、右上顶点Pe及右下顶点Pf的坐标确定出区域S2,对该区域R1、该区域R2、该区域S1及该区域S2内的书页内容进行阅读;其中,交点Pvr及交点Phr坐标的计算方法如下:
1)计算出顶点A与左上顶点Pa的距离dAPa,并计算单位矢量
2)设线段APa中点为点Pm,则线段APm的长度dAPm为dAPa的一半,则求出矢量从而求出点Pm的坐标;
3)因为线段PaA被直线PhrPvr垂直平分,固定点Pm,将矢量顺时针旋转90度,获得新向量A1Pm,并求解出点A1的坐标,直线A1Pm分别与直线PaPd及直线PaPb构成交点Phr及交点Pvr;
4)点Pm及点A1的坐标已知,根据直线公式y=kx+b,求得直线A1Pm公式,而PaPd直线公式为y=Pa.y,直线PaPb公式为x=Pa.x,由此组成二元一次方程组求解出交点Phr及交点Pvr的坐标;
当交点Pvr的坐标在左下顶点Pb与中下顶点Pc之间,即区域R1与区域R2呈直角梯形时,翻页后产生一与左下顶点Pb相对的一点Pb1,左上顶点Pa、左下顶点Pb、中下顶点Pc、中上顶点Pd及顶点A的坐标已知,根 据已知的坐标计算出交点Phr、交点Pvr及点Pb1的坐标,然后由左上顶点Pa、交点Pvr、交点Pvr及交点Phr的坐标确定出区域R1,由顶点A、点Pb1、交点Pvr及交点Phr的坐标确定出区域R2,由交点Phr、交点Pvr、中下顶点Pc及中上顶点Pd的坐标确定出区域S1,对该区域R1、该区域R2及该区域S1内的书页内容进行阅读;其中,交点Pvr、交点Phr及点Pb1坐标的计算方法如下:
1)计算出顶点A与左上顶点Pa的距离dAPa,并计算单位矢量
2)设线段APa中点为点Pm,则线段APm的长度dAPm为dAPa的一半,则求出矢量从而求出点Pm的坐标;
3)因为线段PaA被直线PhrPvr垂直平分,固定点Pm,将矢量顺时针旋转90度,获得新向量并求解出点A1的坐标,直线A1Pm分别与直线PaPd及直线PaPb构成交点Phr及交点Pvr;
4)点Pm及点A1的坐标已知,根据直线公式y=kx+b,求得直线A1Pm公式,而PaPd直线公式为y=Pa.y,直线PaPb公式为x=Pa.x,由此组成二元一次方程组求解出交点Phr及交点Pvr的坐标;
5)交点Pvr为直线A1Pm与直线PbPc的交点,在求解出交点Pvr后,即可获得矢量固定交点Pvr,将该矢量逆时针旋转∠PaPhrA度获得的新矢量由于线段PbPvr和线段PvrPb1长度相等,而∠PaPhrA和∠PbPvrPb1相等,因此旋转后的向量等于矢量由此可计算出点Pb1的坐标;
步骤502、当页面左中上端点、左中下端点、右中上端点或右中下端点为拉动点时,当翻页触发时,鼠标或触控点在直线PaPb上有拉动点PA1,翻页过程中拉动点PA1随着鼠标或触控点移动,翻页后产生一与拉动点PA1相对的一点PA2,通过拉动点PA1进行拉动具体为:
当交点Pvr的坐标在左上顶点Pa与左下顶点Pb之间,即区域R1与区域R2呈三角形时,左上顶点Pa、左下顶点Pb、中下顶点Pc、中上顶点Pd、右上顶点Pe、右下顶点Pf、拉动点PA1及点PA2的坐标已知,根据已知的 坐标计算出交点Phr、交点Pvr及顶点A的坐标,然后由左上顶点Pa、交点Pvr及交点Phr的坐标确定出区域R1,由拉动点A、交点Pvr及交点Phr的坐标确定出区域R2,由交点Phr、拉动点A、交点Pvr、左下顶点Pb、中下顶点Pc及中上顶点Pd的坐标确定出区域S1,由中下顶点Pc、中上顶点Pd、右上顶点Pe及右下顶点Pf的坐标确定出区域S2,对该区域R1、该区域R2、该区域S1及该区域S2内的书页内容进行阅读;其中,交点Pvr、交点Phr及顶点A坐标的计算方法如下:
1)根据拉动点PA1及点PA2的坐标计算出拉动点PA1与点PA2的距离dPA1PA2,并计算单位矢量
2)设线段PA1PA2中点为点Pm1,则线段PA2Pm1的长度dPA2Pm1为dPA1PA2的一半,则求出矢量从而求出点Pm1的坐标;
3)因为线段PA1PA2被直线PhrPvr垂直平分,固定点Pm1,将矢量PA2Pm1顺时针旋转90度,获得新矢量PA3Pm1,并求解出点PA3的坐标,直线PA3Pm1分别与直线PaPd及直线PaPb或PbPc构成交点Phr及交点Pvr;
4)点Pm1及点PA3的坐标已知,根据直线公式y=kx+b,求得直线Pm1PA3公式,而PaPd直线公式为y=Pa.y,直线PaPb公式为x=Pa.x,由此组成二元一次方程组求解出交点Phr及交点Pvr的坐标;
5)根据左上顶点Pa、交点Phr及交点Pvr的坐标计算出顶点A的坐标;
当交点Pvr的坐标在左下顶点Pb与中下顶点Pc之间,即区域R1与区域R2呈直角梯形时,翻页后产生一与左下顶点Pb相对的一点Pb1,左上顶点Pa、左下顶点Pb、中下顶点Pc、中上顶点Pd、右上顶点Pe、右下顶点Pf、拉动点PA1及点PA2的坐标已知,根据已知的坐标计算出交点Phr、交点Pvr、点Pb1及顶点A的坐标,然后由左上顶点Pa、交点Pvr、交点Pvr及交点Phr的坐标确定出区域R1,由顶点A、点Pb1、交点Pvr及交点Phr的坐标确定出区域R2,由交点Phr、交点Pvr、中下顶点Pc及中上顶点Pd的坐标确定出区域S1,由中下顶点Pc、中上顶点Pd、右上顶点Pe及右下顶点Pf的坐标确定出区域S2,对该区域R1、该区域R2、该区域S1及 该区域S2内的书页内容进行阅读;其中,交点Pvr、交点Phr、点Pb1及顶点A坐标的计算方法如下:
1)根据拉动点PA1及点PA2的坐标计算出拉动点PA1与点PA2的距离dPA1PA2,并计算单位矢量
2)设线段PA1PA2中点为点Pm1,则线段PA2Pm1的长度dPA2Pm1为dPA1PA2的一半,则求出矢量从而求出点Pm1的坐标;
3)因为线段PA1PA2被直线PhrPvr垂直平分,固定点Pm1,将矢量顺时针旋转90度,获得新矢量并求解出点PA3的坐标,直线PA3Pm1分别与直线PaPd及直线PaPb或PbPc构成交点Phr及交点Pvr;
4)点Pm1及点PA3的坐标已知,根据直线公式y=kx+b,求得直线Pm1PA3公式,而PaPd直线公式为y=Pa.y,直线PaPb公式为x=Pa.x,由此组成二元一次方程组求解出交点Phr及交点Pvr的坐标;
5)交点Pvr为直线PA3Pm1与直线PbPc的交点,在求解出交点Pvr后,即可获得矢量固定交点Pvr,将该矢量逆时针旋转∠PaPhrA度获得的新矢量由于线段PbPvr和线段PvrPb1长度相等,而∠PaPhrA和∠PbPvrPb1相等,因此旋转后的向量等于矢量由此可计算出点Pb1的坐标;
6)由于直线APb1与直线PvrPb1垂直,而线段PaPb与线段APb1长度相同,固定点Pb1,将矢量向着顶点A方向旋转90度,获得新矢量求得单位矢量从而求得矢量至此,顶点A的坐标求出;
步骤501与步骤502为拉动点的两种不同的情况,没有先后顺序,所述步骤501或所述步骤502之后还包括步骤503;
步骤503、对区域R2与区域S1的集合路径进行进一步处理,对线段PhrA进行曲线化处理,其处理方式是将交点Phr及顶点A代入二次贝塞尔曲线公式中,计算出一中间点P1,然后绘制出交点Phr、顶点A及点P1三点组成的曲线;同理,对线段APvr进行曲线化处理;
步骤504、在区域R1与区域R2的重合处添加阴影纹理,其添加方法是在线段PhrPvr两侧设置阴影纹理区域RSh1及阴影纹理区域RSh2,通过将区域PhrPvr向左右两侧分别平移dSh后,获得新直线Phr1Pvr1及Phr2Phvr2,其与页面边缘存在交点,求解这些交点即可获得阴影纹理区域RSh1及阴影纹理RSh2的几何路径;将dSh设定为依赖于页宽,即dSh的数值与页宽有关,dSh=k*dPW,0<k<1,从而使阴影纹理区域随着页面翻动变化,将渐变颜色填充到相应的阴影纹理区域内;
步骤600、当拉动所述拉动点至区域R1及区域R2与翻页前的矩形区域一致时,说明本次翻页完成,跳转到步骤400进入下一次翻页,单页显示中一次翻页就是指翻过一页,双页显示中一次翻页就是指翻过两页;
步骤700、当加载的页面都翻页完成后,进入步骤200开始下一轮的翻页,以加载的总页面数量为一轮翻页的页面数量;
步骤800、当不继续翻页时,结束流程。
综上所述,本发明的优点如下:
本发明主要是模拟人们阅读文档的各个过程,为人们提供了一种在电子设备上阅读文档的新方式;本发明通过将文档内容(包括但不限于文本、视频、图片等)处理为书页,通过模拟书本阅读过程,动态加载书页以及模拟书本翻页过程中的各个细节,生动地模拟了现实的文档,丰富了电子文件的阅读过程,具有占用内存少,cpu使用率低的特点,操作流畅。
本发明除了可以显示文本外,还可以添加flash、gif、视频、音乐等多媒体资源,不仅从视觉,更从听觉上触动读者的感官印象,不但可以提高读者阅读效率还可以激发读者的阅读兴趣。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
机译: 将数据记录在记录介质上的方法,再现记录在具有驱动数据输入区域,数据区域的记录介质上的数据的方法以及从行中排开的数据驱动区域,用于再现和 /或相对于记录介质写入数据。用于记录和/或再现记录在记录介质中的数据的设备,其中驱动数据的输入区域,数据区域和驱动数据的驱动区域按顺序排列用于记录设备和/或复制的一行光学记录介质。该记录介质可以通过计算机进行读取,并由处理指令编码,以实现通过以下方式在记录介质上记录数据的方法:记录介质可以为我获取它,然后由处理指令编码的计算机读取该记录介质,以实现一种再现记录在具有保险的记录介质中的数据的方法以及驱动
机译: 电子设备包括用于读取多媒体内容的阅读装置,该多媒体内容在包含描述,方法和问题的文档中进行了描述。该程序包括用于实现所述方法的程序代码的指令以及包括设备的系统
机译: 阅读状态-一种在电子设备上重新放置阅读材料的方法