[发明专利]一种3D虚拟现实翻页实现方法有效
申请号: | 201310711847.6 | 申请日: | 2013-12-20 |
公开(公告)号: | CN103677540B | 公开(公告)日: | 2016-10-19 |
发明(设计)人: | 叶伟 | 申请(专利权)人: | 厦门市美亚柏科信息股份有限公司 |
主分类号: | G06F3/0483 | 分类号: | G06F3/0483;G06F3/0484;G06T15/00 |
代理公司: | 深圳市博锐专利事务所 44275 | 代理人: | 张明 |
地址: | 361000 福建省厦门*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开一种3D虚拟现实翻页实现方法,包括步骤:S101、当接收到手指分离点坐标时,获取已知分离点的坐标;S102、根据接收到的手指分离点坐标和获取到的已知分离点坐标,计算页角下位点坐标、页角上位点坐标、额外页角上位点坐标;S103、根据条件将计算出的分离点坐标输入3D空间贝赛尔曲线方程计算翻页曲线坐标;S104、根据OpenGL的纹理坐标规则计算翻页曲线纹理坐标;S105、根据各分离点、翻页曲线坐标以及翻页曲线纹理坐标进行渲染。 | ||
搜索关键词: | 一种 虚拟现实 翻页 实现 方法 | ||
【主权项】:
一种3D虚拟现实翻页实现方法,其特征在于,包括步骤:S101、当接收到手指分离点坐标时,获取已知分离点的坐标;S102、根据接收到的手指分离点坐标和获取到的已知分离点坐标,计算页角下位点坐标、页角上位点坐标、额外页角上位点坐标;S103、根据条件将计算出的分离点坐标输入3D空间贝赛尔曲线方程计算翻页曲线坐标;S104、根据OpenGL的纹理坐标规则计算翻页曲线纹理坐标;S105、根据各分离点、翻页曲线坐标以及翻页曲线纹理坐标进行渲染;其中,所述步骤S102中“计算页角下位点坐标”具体包括:S1021、判断手指分离点的横坐标所处位置情况,其中,页面包括左页面、右页面,左页面平均分割为左上页面和左下页面,右页面平均分割为右上页面和右下页面,所处位置情况包括位于左上页面、位于左下页面、位于右上页面、位于右下页面;当位于右下页面进入步骤S1022,当位于右上页面进入步骤S1023,当位于左下页面进入步骤S1024,当位于左上页面进入步骤S1025;S1022、确定页角下位点纵坐标等于右下点纵坐标,根据页角下位点至手指分离点的距离与页角下位点至右下点的距离相等,使用空间两点间的距离公式计算得页角下位点横坐标;S1023、确定页角下位点纵坐标等于右上点纵坐标,根据页角下位点至手指分离点的距离与页角下位点至右上点的距离相等,使用空间两点间的距离公式计算得页角下位点横坐标;S1024、确定页角下位点纵坐标等于左下点纵坐标,根据页角下位点至手指分离点的距离与页角下位点至左下点的距离相等使用空间两点间的距离公式,计算得页角下位点横坐标;S1025、确定页角下位点纵坐标等于左上点纵坐标,根据页角下位点至手指分离点的距离与页角下位点至左上点的距离相等,使用空间两点间的距离公式计算得页角下位点横坐标;其中,所述步骤S102中“计算页角上位点坐标、计算额外页角上位点坐标”步骤,具体包括下述步骤,其中,所述步骤S1022、S1023后进入下述步骤S1026,所述步骤S1024、S1025后进入下述步骤S10210:S1026、判断手指分离点的横坐标是否大于等于页角下位点的横坐标且小于等于右下点的横坐标,若是,进入步骤S1027计算页角上位点坐标,若否,进入步骤S1028;S1027、当手指分离点位于右下页面时,确定页角上位点横坐标等于右下点横坐标,根据页角上位点与右下点、页角下位点构成的三角形空间使用三角形定律计算得页角上位点纵坐标;当手指分离点位于右上页面时,确定页角上位点横坐标等于右上点横坐标,根据页角上位点与右上点、页角下位点构成的三角形空间使用三角形定律计算得页角上位点纵坐标;S1028、当手指分离点位于右下页面时,计算临时辅助变量tmp=cos(atan((y右下点手指分离点纵坐标分离点)÷(手指分离点横坐标分离点中间下位点横坐标))),额外页角上位点纵坐标=tmp×页面高度+手指分离点纵坐标分离点,然后判断额外页角上位点纵坐标是否大于等于右上点纵坐标,若是,则执行步骤S1027计算页角上位点坐标,若否,进入步骤S1029;当手指分离点位于右上页面时,计算临时辅助变量tmp=cos(atan((y右上点手指分离点纵坐标分离点)÷(手指分离点横坐标分离点中间上位点横坐标))),额外页角上位点纵坐标=tmp×页面高度+手指分离点纵坐标分离点,然后判断额外页角上位点纵坐标是否小于等于右下点纵坐标,若是,则执行步骤S1027计算页角上位点坐标,若否,进入步骤S1029;S1029、当手指分离点位于右下页面时,确定页角上位点纵坐标等于右上点纵坐标,计算临时辅助变量tmp'=sin(atan((y右下点手指分离点纵坐标分离点)÷(手指分离点横坐标分离点中间下位点横坐标))),额外页角上位点横坐标=tmp'×(‑页面高度)+手指分离点横坐标,然后根据页角上位点至额外页角上位点的距离与页角上位点至右上点的距离相等,使用空间两点间的距离公式计算得页角上位点横坐标;当手指分离点位于右上页面时,确定页角上位点纵坐标等于右下点纵坐标,计算临时辅助变量tmp'=sin(atan((y右上点手指分离点纵坐标分离点)÷(手指分离点横坐标分离点中间上位点横坐标))),额外页角上位点横坐标=tmp'×(‑页面高度)+手指分离点横坐标,然后根据页角上位点至额外页角上位点的距离与页角上位点至右下点的距离相等,使用空间两点间的距离公式计算得其横坐标;S10210、判断手指分离点的横坐标是否大于等于页角左下点的横坐标且小于等于页角下位点的横坐标,若是,进入步骤S10211计算页角上位点坐标,若否,进入步骤S10212;S10211、当手指分离点位于左下页面时,确定页角上位点横坐标等于左下点横坐标,根据页角上位点与左下点、页角下位点构成的三角形空间使用三角形定律计算得页角上位点纵坐标;当手指分离点位于左上页面时,确定页角上位点横坐标等于左上点横坐标,根据页角上位点与左上点、页角下位点构成的三角形空间使用三角形定律计算得页角上位点纵坐标;S10212、当手指分离点位于左下页面时,临时辅助变量tmp=cos(atan((左下点纵坐标手指分离点纵坐标)÷(手指分离点横坐标中间下位点横坐标))),额外页角上位点纵坐标=tmp×页面高度+手指分离点纵坐标,判断额外页角上位点纵坐标是否大于等于左上点纵坐标,当判定额外页角上位点纵坐标大于等于左上点纵坐标时,执行步骤S10211计算页角上位点坐标,若否,进入步骤S10213;当手指分离点位于左下页面时,临时辅助变量tmp=cos(atan((左上点纵坐标手指分离点纵坐标)÷(手指分离点横坐标中间上位点横坐标))),额外页角上位点纵坐标=tmp×页面高度+手指分离点纵坐标,判断额外页角上位点纵坐标是否小于等于左下点纵坐标,若是,执行步骤S10211计算页角上位点坐标,若否,进入步骤S10213;S10213、手指分离点位于左下页面时,确定页角上位点坐标纵坐标等于左上点纵坐标,计算临时辅助变量tmp'=sin(atan((左下点纵坐标手指分离点纵坐标)÷(手指分离点横坐标中间下位点横坐标))),额外页角上位点横坐标=tmp'×(‑页面高度)+手指分离点横坐标,根据页角上位点坐标至额外页角上位点的距离与页角上位点坐标至左上点的距离相等使用空间两点间的距离公式计算得页角上位点坐标横坐标;若手指分离点位于左上页面时,确定页角上位点纵坐标等于左下点纵坐标,计算临时辅助变量tmp'=sin(atan((左上点纵坐标 手指分离点纵坐标)÷(手指分离点横坐标中间上位点横坐标))),额外页角上位点横坐标=tmp'×(‑页面高度)+手指分离点横坐标,根据页角上位点至额外页角上位点的距离与页角上位点至左下点的距离相等,使用空间两点间的距离公式计算得页角上位点横坐标。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门市美亚柏科信息股份有限公司,未经厦门市美亚柏科信息股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310711847.6/,转载请声明来源钻瓜专利网。
- 上一篇:时间显示方法及设备
- 下一篇:一种信息处理方法和电子设备