[发明专利]一种基于相机切换实现Web三维地图多视图显示的方法在审

专利信息
申请号: 202111281743.7 申请日: 2021-11-01
公开(公告)号: CN114003840A 公开(公告)日: 2022-02-01
发明(设计)人: 张一鸣;马桂杰;占伟伟;周传龙;蒉露超 申请(专利权)人: 中国电子科技集团公司第二十八研究所
主分类号: G06F16/957 分类号: G06F16/957;G06F16/29;G06T15/00;G06T15/50;G06T17/05
代理公司: 江苏圣典律师事务所 32237 代理人: 于瀚文;胡建华
地址: 210000 江*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 相机 切换 实现 web 三维 地图 视图 显示 方法
【权利要求书】:

1.一种基于相机切换实现Web三维地图多视图显示的方法,包括如下步骤:

步骤1,创建主视图、各分视图所需的网页div元素、画布和对象;

步骤2,进入帧循环后,修改绘制函数,在帧循环中添加分视图离屏绘制;

步骤3,从帧缓冲区对象读取绘制内容保存成图片,获取分视图画布的2D绘图上下文,将保存的图片绘制到2D绘图上下文,实现分视图显示;

步骤4,对各分视图进行步骤2和步骤3的操作,直到所有分视图显示完成。

2.根据权利要求1所述的方法,其特征在于,步骤1包括:

步骤1-1,创建主视图、各分视图所需的网页div元素和画布,并将画布挂载到div元素上,设置主视图和分视图div元素的高度、宽度、偏移;

步骤1-2,创建主视图及分视图所需的实例对象,所述实例对象包含:相机、屏幕控制事件、帧缓冲区、像素存储和鼠标控制相机对象。

3.根据权利要求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函数计算出视图矩阵view matrix,设置为WebGL着色器中当前使用的视图矩阵,执行WebGL系统离屏绘制,将结果保存在帧缓冲区对象中。

4.根据权利要求3所述的方法,其特征在于,步骤2-2中,所述矩阵computeView函数的计算方法:矩阵computeView函数的参数包括相机的位置向量position、向前向量direction、向上向量up、向右向量right;计算出来的视图矩阵数组索引为0、4、8的值分别等于向右向量right的世界坐标值,视图矩阵数组索引为1、5、9的值分别等于向上向量up的世界坐标值,视图矩阵数组索引为2、6、10的值分别等于向前向量direction的世界坐标值取负,视图矩阵数组索引为12的值等于向右向量right和位置向量position点积取负,视图矩阵数组索引为13的值等于向上向量up和位置向量position点积取负,视图矩阵数组索引为12的值等于向前向量direction和位置向量position点积。

5.根据权利要求4所述的方法,其特征在于,步骤2-2中,所述执行WebGL系统离屏绘制,是指在帧缓冲区中进行绘制的过程,具体包括:在默认情况下,WebGL在颜色缓冲区中进行绘图,绘制的结果图像是存储在颜色缓冲区中的,颜色缓冲区内容会直接显示到浏览器上;帧缓冲区能够用来代替颜色缓冲区,在帧缓冲区内绘制的结果图像会保存在帧缓冲区,不会直接显示到浏览器上。

6.根据权利要求5所述的方法,其特征在于,步骤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中,执行绘制图片方法将图片内容绘制并显示到分视图上。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子科技集团公司第二十八研究所,未经中国电子科技集团公司第二十八研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202111281743.7/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top