基于H5的地图编辑器、编辑方法以及计算机可读介质与流程

文档序号:30940026发布日期:2022-07-30 01:55阅读:272来源:国知局
基于H5的地图编辑器、编辑方法以及计算机可读介质与流程
基于h5的地图编辑器、编辑方法以及计算机可读介质
技术领域
1.本发明属于地图制作及显示技术领域,尤其涉及一种基于h5的地图编辑器、编辑方法以及计算机可读介质。


背景技术:

2.近年来,随着社会不断进步,国家经济不断发展,城市进程不断加快,大型商场、综合体建筑不断涌现,人们在室内的活动频率大大增加,对于室内位置服务的需求程度也越来越强烈,而室内位置服务与室内地图相结合,是未来发展的趋势。
3.在室内地图的绘制过程中,每绘画一个3d地图元素,都需要完整的3d数据来生成,会使地图在设计过程中消耗极大的计算资源去实时渲染地图,影响用户流畅操作和使用编辑器绘制地图。
4.因此现有技术引入自定义数据格式在编辑过程中以绘制二维图形方式展示,然后转化保存为完整自定义三维模型信息用于渲染成浏览器可以直接显示的三维模型,实现以二维方式绘制三维地图模型的高效转化,来减少在地图制作过程中实时渲染三维模型导致的性能消耗,以提高用户在制作地图效率低的问题,但用二维的方式来编辑地图,在导入三维建筑模型时,二维方式的地图中内无法直观的显示和调整三维模型位置。


技术实现要素:

5.本发明提供了一种基于h5的地图编辑器、编辑方法以及计算机可读介质,以解决上述技术问题。
6.一方面,本发明提供了一种基于h5的地图编辑方法,所述方法包括:接收模型添加到选中的地图建筑的导入请求;确定所导入在地图建筑坐标信息中的模型的中心点,将所述中心点的三维坐标作为起始坐标;以模型中心为中心点修改中心点xyz三轴坐标,得到修改后的向量数据;将向量数据导入平移矩阵、旋转矩阵以及缩放矩阵计算公式得到模型调整后的顶点数据;将原始数据以及得到调整后的顶点数据以及中心点数据保存。
7.进一步的,平移矩阵的计算公式为:其中,t(tx,ty,yz) 是已知的平移向量,xyz 指空间里任意点坐标,x’,y’、z’是平移后坐标。
8.进一步的,旋转矩阵的计算公式为:
其中,α是x-轴与交点线的夹角,β是y-轴与交点线的夹角,γ是z-轴与交点线的夹角,r指已知的旋转矩阵。
9.进一步的,缩放矩阵的计算公式为:其中,等号左边中间的矩阵由缩放矢量(分别对应x轴、y轴,z轴方向的缩放)构成缩放矩阵,sx、sy、sz 是指已知的缩放向量, xyz指空间里任意点坐标。
10.进一步的,所述方法还包括:读取选中的模型的原始数据,设置选中地图元素中的模型属性,使模型恢复原始状态。
11.另一方面,本发明还提供了一种基于h5的地图编辑器,所述地图编辑器包括:导入模块,用于接收模型添加到选中的地图建筑的导入请求;中心点坐标获取模块,用于确定所导入在地图建筑坐标信息中的模型的中心点,将所述中心点的三维坐标作为起始坐标;向量坐标获取模块,用于以模型中心为中心点修改中心点xyz三轴坐标,得到修改后的向量数据;顶点坐标计算模块,用于将向量数据导入平移矩阵、旋转矩阵以及缩放矩阵计算得到模型调整后的顶点数据;存储模块,用于将得到调整后的顶点数据以及中心点数据保存。
12.另一方面,本发明还提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理执行时实现如上述任一项所述的一种基于h5的地图编辑方法。
13.应当理解的是,以上的一般描述和后面的细节描述仅仅是示例性和解释性的,并不能限制本公开。
14.与现有技术相比,本发明提供的一种基于h5的地图编辑方法,具有如下优点:在复用的基础上,更加强调用户自由度和定制性。提供三维模型效果配置功能可以保证模型正常设置和使用导入三维模型,可以在让用户实时显示的情况下编辑导入的三维模型并调整在地图中位置效果。
15.显然,上述有关本发明优点的描述是概况性的,更多的优点描述将体现在后续的实施例揭示中,以及,本领域技术人员也可以本发明所揭示的内容合理地发明本发明的其他诸多优点。
16.本发明附加的方面和优点将在下面的描述中给出,并且本发明的优点将在下面的描述中变得明显或通过本发明的实践了解到。
附图说明
17.图1为本发明一实施例的基于h5的地图编辑方法流程示意图。
18.图2为three.js 画布中提供模型的三维坐标系。
19.图3为编辑器用欧拉角所设置的模型空间角度图。
具体实施方式
20.现将详细参考本公开的当前实施例,其实例在附图中得以说明。只要有可能,相同元件符号在图式及描述中用来表示相同或相似部分。
21.本发明通过地图编辑提供对应的推断逻辑,指引出合理的地图编辑方案,辅助用户更好地解决二维模型无法直观调整三维模型位置问题,本编辑器还提供了三维模型效果配置预览功能,具体实现方式如下:如在一种实施例中,本发明提供了一种基于h5的地图编辑方法,如图1所示,包括:s100:接收模型添加到选中的地图建筑的导入请求。
22.支持主流的模型导入显示功能,可以通过直接导入glb和gltf三维模型到地图中,导入后通过基于three.js 的渲染器在编辑器中实时显示三维模型。
23.s200:确定所导入在地图建筑坐标信息中的模型的中心点,将所述中心点的三维坐标作为起始坐标;s300:以模型中心为中心点修改中心点xyz三轴坐标,得到修改后的向量数据;s400:将向量数据导入平移矩阵、旋转矩阵以及缩放矩阵计算公式得到模型调整后的顶点数据。
24.在立体三维坐标系中,分别取与x轴、y轴、z轴方向相同的3个单位向量i,j, k作为一组基底。若a为该坐标系内的任意向量,以坐标原点o为起点作向量op=a。根据空间基本定理知,有且只有一组实数(x,y, z)向量的坐标表示,使得 a=向量op=xi+yj+zk,因此把实数对(x,y,z)叫做向量a的坐标,记作a=(x,y,z)。这就是向量a的坐标表示,同理我们在导入模型时以模型原点为中心点三维坐标wie(0,0,0)将模型添加到选中的地图建筑中,以选中建筑中心点为起始坐标,例如建筑坐标为(x1,y1,z1)导入后模型的坐标同样为(x1,y1,z1);然后可以通过选中模型修改模型中心点x 轴,y轴,z轴位置,其他点通过平移变换的计算,通常是左乘一个平移矩阵,表示方式可以如下:其中,t(tx,ty,yz) 是已知的平移向量,xyz 指空间里任意点坐标,x’,y’、z’是平移后坐标。
25.如图3所示,旋转设置本编辑器用欧拉角来设置模型空间角度,欧拉角是在空间中,描述从一个用于表示某个固定的参考系的、已知的方向,经过一系列基本旋转得到新的、代表另一个参考系的方向的方式。因为只有旋转,所以原点位置并没有发生变化。按以下公式可以通过旋转矩阵求得模型的欧拉角:
其中,α是x-轴与交点线的夹角,β是y-轴与交点线的夹角,γ是z-轴与交点线的夹角,r指已知的旋转矩阵。
26.缩放:对于空间中任意参考点(x,y,z)的缩放变换,缩放矩阵的形成过程如下,将参考点平移到原点处,进行缩放变换,平移回原位置;则最终变换矩阵结果如下:其中,等号左边中间的矩阵由缩放矢量(分别对应x轴、y轴,z轴方向的缩放)构成缩放矩阵,sx、sy、sz是指已知的缩放向量,xyz指空间里任意点坐标。
27.s500:将原始数据以及得到调整后的顶点数据以及中心点数据保存;调整后数据保存在地图元素自定义数据中(x:modelcoord.x,y:modelcoord.y,z:model3dheight,位移:modelrotate,缩放:modelzoom)。
28.经进一步转换,所述方法还包括:读取选中的模型的原始数据,设置选中地图元素中的模型属性,使模型恢复原始状态。
29.在本实施场景中,提供模型修改重置功能,通过读取地图原始数据,还原模型属性,读取选中地图元素原始数据(其中modelcoord.x,modelcoord.y,model3dheight,modelrotate,modelzoom)设置选中地图元素中模型属性,使模型恢复原始状态,以实现对原始地图的更新。
30.在一种实施例中,本发明提供一种基于h5的地图编辑器,所述基于h5的地图编辑器储存有多条指令,所述指令适用于由处理其加载基于h5的地图编辑方法并执行,包括:接收模型添加到选中的地图建筑的导入请求;确定所导入在地图建筑坐标信息中的模型的中心点,将所述中心点的三维坐标作为起始坐标;以模型中心为中心点修改中心点xyz三轴坐标,得到修改后的向量数据;将向量数据导入平移矩阵、旋转矩阵以及缩放矩阵计算公式得到模型调整后的顶点数据;将原始数据以及得到调整后的顶点数据以及中心点数据保存。
31.为了便于描述,将所述基于h5的地图编辑器拆分为功能模块架构,如图1所示,包括:导入模块,用于接收模型添加到选中的地图建筑的导入请求;中心点坐标获取模块,用于确定所导入在地图建筑坐标信息中的模型的中心点,将所述中心点的三维坐标作为起始坐标;向量坐标获取模块,以模型中心为中心点修改中心点xyz三轴坐标,得到修改后的
向量数据;顶点坐标计算模块,用于将向量数据导入平移矩阵、旋转矩阵以及缩放矩阵计算得到模型调整后的顶点数据;存储模块,用于将得到调整后的顶点数据以及中心点数据保存。
32.本发明还提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理执行时实现上述所述的一种基于h5的地图编辑方法。
33.所述电子设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例所述的应用程序多开方法中的全部或部分流程,也可以通过计算机程序来指相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上文方法实施例的步骤。其中,所述算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
34.本技术的说明书和权利要求书中,词语“包括/包含”和词语“具有/包括”及其变形,用于指定所陈述的特征、数值、步骤或部件的存在,但不排除存在或添加一个或多个其他特征、数值、步骤、部件或它们的组合。
35.本发明的一些特征,为阐述清晰,分别在不同的实施例中描述,然而,这些特征也可以结合于单一实施例中描述。相反,本发明的一些特征,为简要起见,仅在单一实施例中描述,然而,这些特征也可以单独或以任何合适的组合于不同的实施例中描述。
36.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包括在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1