首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种基于相机切换实现Web三维地图多视图显示的方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:中国电子科技集团公司第二十八研究所

摘要:本发明提供了一种基于相机切换实现Web三维地图多视图显示的方法,包括:分视图渲染使用的3D上下文对象、场景内容和主视图保持一致,把分视图相机切换成当前相机,通过改变观察位置,对分视图场景内容进行离屏绘制。该方法除了创建主视图和分视图相关的画布外,只需创建相应的相机和帧缓冲区,大幅度降低Web三维地球运行时浏览器内存占用;离屏绘制时只需切换成分视图的相机,场景内容没有变化,避免了重复计算,大幅度提高了Web三维多视图运行效率。

主权项:1.一种基于相机切换实现Web三维地图多视图显示的方法,包括如下步骤:步骤1,创建主视图、各分视图所需的网页div元素、画布和对象;步骤2,进入帧循环后,修改绘制函数,在帧循环中添加分视图离屏绘制;步骤3,从帧缓冲区对象读取绘制内容保存成图片,获取分视图画布的2D绘图上下文,将保存的图片绘制到2D绘图上下文,实现分视图显示;步骤4,对各分视图进行步骤2和步骤3的操作,直到所有分视图显示完成;步骤1包括:步骤1-1,创建主视图、各分视图所需的网页div元素和画布,并将画布挂载到div元素上,设置主视图和分视图div元素的高度、宽度、偏移;步骤1-2,创建主视图及分视图所需的实例对象,所述实例对象包含:相机、屏幕控制事件、帧缓冲区、像素存储和鼠标控制相机对象;步骤2包括:步骤2-1,切换当前相机对象为分视图相机对象,切换当前帧缓冲区为分视图缓冲区对象;步骤2-2,通过监听分视图鼠标事件获取鼠标开始点的屏幕坐标(x1,y1)和结束点的屏幕坐标(x2,y2),通过屏幕坐标转世界坐标函数计算出开始点的笛卡尔世界坐标P1(X1,Y1,Z1)和结束点的笛卡尔世界坐标P2(X2,Y2,Z2),根据公式D=P2-P1得到相机变化的方向向量D,通过求方向向量的长度得到相机变化的数量N;把相机变化的方向向量D和数量N参数传入相机对象平移translate、旋转rotate、缩放zoom变化函数中,计算出相机对象的位置position、向前向量direction、向上向量up、向右向量right,然后通过矩阵的computeView函数计算出视图矩阵viewmatrix,设置为WebGL着色器中当前使用的视图矩阵,执行WebGL系统离屏绘制,将结果保存在帧缓冲区对象中;步骤3包括:步骤3-1,通过主视图画布的getContext方法获取3D绘图上下文,根据主视图画布的宽度width像素值和高度height像素值创建width乘以height大小的Uint8Array对象,将Uint8Array对象作为参数传入3D绘图上下文的读取像素方法readPixels中,执行读取像素方法将帧缓冲区的内容读出来保存到Uint8Array对象中,最后创建以Uint8Array对象作为参数的图片ImageData对象,将Uint8Array对象内容保存成图片ImageData对象;步骤3-2,通过分视图画布的getContext方法获取2D绘图上下文,将图片ImageData对象作为参数传入2D绘图上下文的绘制图片方法putImageData中,执行绘制图片方法将图片内容绘制并显示到分视图上。

全文数据:

权利要求:

百度查询: 中国电子科技集团公司第二十八研究所 一种基于相机切换实现Web三维地图多视图显示的方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。