[发明专利]一种基于Threejs生成全景图表的方法、终端设备及存储介质有效

专利信息
申请号: 202011462659.0 申请日: 2020-12-14
公开(公告)号: CN112464126B 公开(公告)日: 2022-07-15
发明(设计)人: 黄天祺;王博;彭琪伟 申请(专利权)人: 厦门市美亚柏科信息股份有限公司
主分类号: G06F16/957 分类号: G06F16/957
代理公司: 厦门市精诚新创知识产权代理有限公司 35218 代理人: 何家富
地址: 361000 福建省厦门市*** 国省代码: 福建;35
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 threejs 生成 全景 图表 方法 终端设备 存储 介质
【权利要求书】:

1.一种基于Threejs生成全景图表的方法,其特征在于,包括以下步骤:

S1:当页面解析到全景容器组件时,加载全景容器组件中配置的各图表组件,并将其挂载至全景容器组件内;

S2:当全景容器组件被挂载至页面上后,对全景容器组件对应的场景和相机进行初始化;场景和相机的初始化过程包括:在mounted周期回调过程中调用new THREE.Scene()对场景进行初始化,调用new THREE.PerspectiveCamera(75, window.innerWidth/window.innerHeight, 1, 1000)对相机进行初始化,并设置视锥体的垂直视野角为75度、长宽比跟窗口自适应、近平面1、远平面1000,模拟人眼的视觉;

S3:当各图表组件均被挂载至页面上后,根据每个图表组件生成场景对象,并将生成的场景对象添加至对应的场景内;步骤S3具体包括:当前、后、左和右四个方向的图表组件均被挂载至页面上后,每一个方向的图表组件均调用new THREE.CSS3DObject()生成四个方向的场景对象,并设定前、后、左和右四个方向的position分别为[0, 0, 512]、[0, 0, -512]、[512, 0, 0]和[-512, 0, 0],设定前、后、左和右四个方向的rotation分别为[0,Math.PI, 0]、[0, 0, 0]、[0, -Math.PI/2, 0]和[0, Math.PI/2, 0],调用场景的add方法将生成的四个方向的场景对象添加至场景内;

S4:初始化全景容器组件的渲染器,并设置渲染效果的宽和高,通过渲染器将各图表组件重新渲染出全景效果,将渲染器挂载至页面内;渲染器通过调用newTHREE.CSS3DRenderer()进行初始化;渲染效果的宽和高的范围通过将props接收到的用于场景展示的宽和高作为参数,调用渲染器的setsize方法进行设定;渲染器通过调用全景容器组件的appenChild方法将渲染器的domElement挂载到页面上;

S5:全景容器组件调用addEventListener对用户鼠标操作事件进行绑定,使全景效果跟着鼠标的拖动进行转动;

S6:将接收到的用于场景展示的宽和高作为参数调用requestAnimationFrame(),根据帧速率反复触发requestAnimationFrame()来调整相机的位置;

S7:页面显示全景图表效果。

2.根据权利要求1所述的基于Threejs生成全景图表的方法,其特征在于:步骤S1中图表组件的挂载过程包括:全景容器组件通过props接收前、后、左和右四个方向的图表组件,在created周期回调过程中,利用import函数加载四个方向的图表组件,加载后触发then回调,在then回调里面通过vue框架的Vue.extend创建构造器并调用$mount动态将四个方向的图表组件分别挂载到全景容器组件的front、back、left、right四个节点下。

3.根据权利要求1所述的基于Threejs生成全景图表的方法,其特征在于:全景容器组件挂载的过程包括:

S101:在HTML页面中预留全景容器组件Dom的挂载点,将全景容器组件以自定义标签的形式写在挂载点处;

S102:调整全景容器组件的位置,并设定其对应的width和height属性;

S103:将全景容器组件内需要渲染的前、后、左和右四个方向的图表组件的存储路径填写在标签front、back、left和right的属性内。

4.根据权利要求1所述的基于Threejs生成全景图表的方法,其特征在于:步骤S5对用户鼠标操作事件绑定的过程包括:

当用户触发鼠标击下事件时,在鼠标不释放的情况下监听鼠标移动事件,并通过上下左右移动做出相应的角度补偿,确定中心视角的x、y、z参数,调用相机的lookAt()方法重新设定相机视角的位置,以接收到场景偏移的反馈;

当用户触发鼠标击起事件时,则移除鼠标击下和鼠标移动,场景视角不再变化;

当用户触发鼠标滚轮事件时,通过事件的event.deltaY确定鼠标滚轮的滚动方向为向下滚动或向上滚动,设定相机靠近或远离,并调用相机的updateProjectionMatrix()方法更新场景。

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

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门市美亚柏科信息股份有限公司,未经厦门市美亚柏科信息股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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