CN117523129A - 基于WebGL的产品特性三维模型的展示方法和装置 - Google Patents
基于WebGL的产品特性三维模型的展示方法和装置 Download PDFInfo
- Publication number
- CN117523129A CN117523129A CN202311571570.1A CN202311571570A CN117523129A CN 117523129 A CN117523129 A CN 117523129A CN 202311571570 A CN202311571570 A CN 202311571570A CN 117523129 A CN117523129 A CN 117523129A
- Authority
- CN
- China
- Prior art keywords
- dimensional
- file
- dimensional model
- product
- target product
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 239000000463 material Substances 0.000 claims abstract description 18
- 230000003287 optical effect Effects 0.000 claims abstract description 18
- 230000006870 function Effects 0.000 claims description 28
- 239000011159 matrix material Substances 0.000 claims description 23
- 230000009466 transformation Effects 0.000 claims description 23
- 238000009877 rendering Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 11
- 238000013519 translation Methods 0.000 claims description 11
- 238000004806 packaging method and process Methods 0.000 claims description 5
- 238000010276 construction Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 8
- 230000009471 action Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000012800 visualization Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013079 data visualisation Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000003321 amplification Effects 0.000 description 1
- 229910052792 caesium Inorganic materials 0.000 description 1
- TVFDJXOCXUVLDH-UHFFFAOYSA-N caesium atom Chemical compound [Cs] TVFDJXOCXUVLDH-UHFFFAOYSA-N 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Remote Sensing (AREA)
- Computing Systems (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明涉及三维模型展示技术领域,特别涉及一种基于WebGL的产品特性三维模型展示方法和装置。方法包括:在Web端创建三维虚拟地球和二维平面地图,以构建数字地球;获取各产品的三维模型文件,基于每一个三维模型文件的格式,利用对应加载器将该产品的三维模型加载至所述数字地球中;其中,三维模型文件至少包括产品的各个组件模型文件、运动特性文件、材质特性文件、光学特性文件、电磁特性文件、网格模型文件;当用户查看目标产品时,在数字地球对目标产品的三维模型和产品特性进行展示。本方案可以利用WebGL实现对产品特性三维模型的展示。
Description
技术领域
本发明实施例涉及三维模型展示技术领域,特别涉及一种基于WebGL的产品特性三维模型展示方法和装置。
背景技术
三维的世界是立体的、真实的,随着计算机技术的不断发展,人们开始不满足于计算机仅能显示二维的图像,更希望计算机能表达出具有强烈真实感的现实三维世界。三维建模可以使计算机做到这一点。所谓三维建模,就是利用三维数据将现实中的三维物体或场景在计算机中进行重建,最终实现在计算机上模拟出真实的三维物体或场景。三维模型包括的最基本的信息是物体的各离散点的三维坐标,其它的可以包括物体表面的颜色、透明度、纹理特征等等。三维建模在目标可视化领域起着重要的作用。一个三维模型的建立过程包括三维初始数据的获取,对初始数据进行诸如去除噪声点、简化等处理,按照不同的方式组织三维数据,最终实现在计算机中绘制出具有三维特征的模型。虽然,三维模型的展示方法层出不穷,但目前还没有产品特性三维模型的展示方法。
因此,亟需一种基于WebGL的产品特性三维模型展示方法。
发明内容
为了解决目前还没有产品特性三维模型的展示方法的问题,本发明实施例提供了一种基于WebGL的产品特性三维模型展示方法和装置。
第一方面,本发明实施例提供了一种基于WebGL的产品特性三维模型展示方法,方法包括:
在Web端创建三维虚拟地球和二维平面地图,以构建数字地球;
获取各产品的三维模型文件,基于每一个三维模型文件的格式,利用对应加载器将该产品的三维模型加载至所述数字地球中;其中,所述三维模型文件至少包括产品的各个组件模型文件、运动特性文件、材质特性文件、光学特性文件、电磁特性文件、网格模型文件;
当用户查看目标产品时,在所述数字地球对所述目标产品的三维模型和产品特性进行展示。
第二方面,本发明实施例还提供了一种基于本说明书任一实施例所述方法的基于WebGL的产品特性三维模型展示装置,装置包括:
构建单元,用于在Web端创建三维虚拟地球和二维平面地图,以构建数字地球;
加载单元,用于获取各产品的三维模型文件,基于每一个三维模型文件的格式,利用对应加载器将该产品的三维模型加载至所述数字地球中;其中,所述三维模型文件至少包括产品的各个组件模型文件、运动特性文件、材质特性文件、光学特性文件、电磁特性文件、网格模型文件;
展示单元,用于当用户查看目标产品时,在所述数字地球对所述目标产品的三维模型和产品特性进行展示。
第三方面,本发明实施例还提供了一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现本说明书任一实施例所述的方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行本说明书任一实施例所述的方法。
本发明实施例提供了一种基于WebGL的产品特性三维模型展示方法和装置,首先在Web端构建数字地球,然后将各产品的三维模型文件利用对应加载器将各产品的三维模型加载至数字地球中,以在用户查看目标产品时,在数字地球对目标产品的三维模型和产品特性进行展示。本方案,可以利用WebGL实现对产品特性三维模型的展示。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种基于WebGL的产品特性三维模型展示方法的流程图;
图2是本发明一实施例提供的一种计算设备的硬件架构图;
图3是本发明一实施例提供的一种基于WebGL的产品特性三维模型展示装置结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面描述以上构思的具体实现方式。
请参考图1,本发明实施例提供了一种基于WebGL的产品特性三维模型展示方法,该方法包括:
步骤100,在Web端创建三维虚拟地球和二维平面地图,以构建数字地球;
步骤102,获取各产品的三维模型文件,基于每一个三维模型文件的格式,利用对应加载器将该产品的三维模型加载至数字地球中;其中,三维模型文件至少包括产品的各个组件模型文件、运动特性文件、材质特性文件、光学特性文件、电磁特性文件、网格模型文件;
步骤104,当用户查看目标产品时,在数字地球对目标产品的三维模型和产品特性进行展示。
本发明实施例中,首先在Web端构建数字地球,然后将各产品的三维模型文件利用对应加载器将各产品的三维模型加载至数字地球中,以在用户查看目标产品时,在数字地球对目标产品的三维模型和产品特性进行展示。本方案,可以利用WebGL实现对产品特性三维模型的展示。
针对步骤100:
在一些实施方式中,步骤100可以包括:
封装JavaScript开源框架ZGIS,底层以WebGL作为图形渲染引擎,生成三维引擎Z3D;
利用三维引擎Z3D中的ZGIS.Viewer插件创建三维虚拟地球和二维平面地图,生成初始数字地球;
对初始数字地球的功能进行封装,支持三维虚拟地球和二维平面地图之间的切换,并且集成不同的来源数据加载功能;
封装基本控制操作,以使用户对三维虚拟地球和二维平面地图进行控制操作;
加入时间轴,以在三维虚拟地球和二维平面地图中进行各产品的地理空间分布展示和时间动态数据展示,生成数字地球。
在本实施例中,在Web端搭建数字地球,封装基于Web浏览器中创建三维虚拟地球和二维平面地图的JavaScript开源框架ZGIS,底层以WebGL作为图形渲染引擎,将WebGL底层接口进行了封装,为用户提供了强大的地图数据可视化功能。
之后对初始数字地球功能进行封装,地图展示支持三维虚拟地球(3D)、二维平面地图(2D)之间的切换,可以集成不同的来源数据,如图片、模型、geojson等。封装了地图的基本操作,用户可以方便对三维虚拟地球及加载的图层进行放大、缩小、平移、旋转等操作。数字地球支持多种基于数字地球表面的地理数据可视化方式,可以绘制传统的点、线、面、多面等GIS几何图形,还支持导入图片、三维模型等进行加载。数字地球提供地理空间分布表达,还支持基于时间轴的动态数据展示,实现时空数据的动态可视化。数字地球对axios和ajax部分功能进行封装,实现对大量地理空间数据的异步请求。对于符合OGS(地理规范)的地图服务,可以通过远程服务的形式加载服务器端已经发布的地图数据,实现地图数据在三维数字地球的可视化。本实施例系统主要分为4层:
(1)核心(core):提供基本的三维空间数学及模型算法,包含矩阵向量运算、坐标系变换、地图投影、地球曲率计算等;
(2)渲染器(Renderer):封装了WebGL的渲染方法,将三维数据进行坐标变换处理,投影到二维屏幕上,提供图像视角的转换,向用户展示经过渲染后的场景;
(3)场景(Scene):存放基本几何图元和三维模型的容器;
(4)动态场景(Dynamic Scene):加入Y时间轴,根据时间的变化动态更新场景元素。
在一些实施方式中,步骤“利用三维引擎Z3D中的ZGIS.Viewer插件创建三维虚拟地球和二维平面地图,生成初始数字地球”,可以包括:
利用ZGIS.Viewer插件创建三维虚拟地球对象;
从ZGIS.Viewer插件中获取几何基元容器;
基于获取的二维平面地图,创建若干个几何形状和几何属性,以生成创建三维虚拟地球所需的若干个几何实例;
创建若干个几何基元,并将几何实例赋予几何基元的几何学属性,将预先创建的几何外观赋予几何基元的外观属性;
将创建好的若干个几何基元添加到几何基元容器中,以在三维虚拟地球中渲染出来,生成初始数字地球。
在本实施例中,实现了多种几何要素类的创建。首先创建一个几何基元容器,然后在这个容器中利用几何基元添加一个或多个几何实例,每个几何实例可以设置独有的几何形状和几何外观、颜色、纹理等属性特征。几何外观定义了几何要素着色器的相关设置,设置的内容包括GLSL顶点着色器、片元着色器。初始数字地球的创建过程具体为:
(1)通过ZGIS.Viewer创建viewer对象,即三维虚拟地球对象;
(2)从viewer中取得ZGIS.PrimitiveCollection类型的primitives对象,即几何基元容器;
(3)创建几何实例Cesium.GeometryInstance类型的geometryInstance对象,即几何实例,geometryInstance对象需要几何形状和几何属性才能确定一个几何实例;
(4)创建几何形状Cesium.Geometry类型的geometry对象,如PolygonGeometry(多边形)、RectangleGeometry(矩形)等几何形状;
(5)几何属性可以设置几何实例的可见性、颜色值两个属性,可见性设置几何实例显示与隐藏,颜色值设置该几何实例的基本颜色。
(6)创建几何外观ZGIS.Appearance类型的appearance对象,如MeterialAppearance可以设置纹理,PerInstanceColorAppearance只包含颜色透明度的外观;
(7)创建一个几何基元ZGIS.Primitive,并将几何实例赋予几何基元的geometryInstances属性,将几何外观赋予几何基元的appearance属性,一个几何基元可以添加多个几何实例,共同使用一个几何外形,因此多个几何实例会共用一个几何外形;
(8)将创建好的一个或多个几何基元添加到几何基元容器中,就能在三维虚拟地球中渲染出来,生成初始数字地球。
针对步骤102:
在一些实施方式中,步骤102可以包括:
获取用于将各种格式的三维模型文件加载到数字地球的若干个加载器;其中,加载器与格式为一一对应关系;
针对获取的每一个产品的三维模型文件,均执行:
基于当前产品的三维模型文件中各个组件模型文件、运动特性文件、材质特性文件、光学特性文件、电磁特性文件、网格模型文件的格式,获取对应的加载器,以利用加载器导入三维模型文件中的每一个文件;
利用加载器中的Loader函数,将三维模型文件封装为一个object3d对象,并将该产品的三维模型文件中的每一个文件加载至数字地球中;
利用render方法将三维模型文件中各个组件模型文件、运动特性文件、材质特性文件、光学特性文件、电磁特性文件、网格模型文件分别渲染在数字地球中。
在本实施例中,目前常见的组件模型文件格式包括:.b3dm、.i3dm、.pnts、.vctr和.cmpt等,此外还有.glTF、.glb、.terrain等,支持其它数据向3DTiles格式的转换后加载,包括obj、BIM等。为将模型放入浏览器进行可视化,定义三维模型的基类为Object3D,将所有模型格式,通过系统提供的位于加载器中的loader函数,转换到该基类,放入三维场景中进行展示。
三维模型和场景的展示,要向Z3D创建的三维空间里加载其他设计软件完成的三维物体模型,必须使用加载器(Loader)。Z3D中拥有众多的加载器,总共分为三大类:基础加载器、纹理加载器、文件加载器。常用的文件加载器有:
(1)OBJLoader:将OBJ格式的三维模型文件加载到场景中。
(2)OBJMTLLoader:将包括材质MTL文件和OBJ格式的三维模型文件一起加载到三维场景中。
(3)ColladaLoader:加载DAE格式的三维模型文件到场景中。
(4)WWOBJLoader:用于在web worker中加载.obj资源的装载器。
(5)PCDLoader:用于.pcd文件的加载程序。加载ascii和二进制。不支持压缩的二进制文件。
需要说明的是,需要使用加载器在页面引用包含辅助函数的JS文件(ColladaLoader.js),可以将各个组件模型文件和材质特性文件放在一起的,甚至还可以在材质特性文件中对光源进行设计,降低了开发过程的代码复杂度。在Z3D中使用库函数Z3D.ColladaLoader()就能够直接加载三维模型文件。
选取ColladaLoader加载器进行举例,ColladaLoader加载器能够把3D模型转换成Web支持的3D模型的XML格式,在Z3D中使用ColladaLoader加载器时需要首先在HTML5页面导入它的JS文件,然后再通过load方法来加载模型。在load方法中,第一个参数为需要载入的外部模型所在的地址,加载器会去这个地址寻找外部模型。第二个参数是一个方法,主要是加载过程中对模型对象的信息处理。这里需要处理的包括有给模型添加包围盒以及设置一些交互操作时需要用到的数据,然后把模型对应的场景添加到整个数字地球中,同时因为模型加载是一个异步的过程,此处还会调用一个render()方法在每次加载模型时进行渲染。Load方法结束后有一个回调函数onLoad(),会在模型加载步骤完成后将三维模型文件中各个组件模型文件、运动特性文件、材质特性文件、光学特性文件、电磁特性文件、网格模型文件分别渲染在数字地球中。
针对步骤104:
在一些实施方式中,步骤104可以包括:
当用户查看目标产品时,基于目标产品的材质特性文件、各个组件模型文件以及object3d对象中生命的位置,将目标产品的三维模型渲染在数字地球中;
基于目标产品的光学特性文件和电磁特性文件,将目标产品的光学特性和电磁特性渲染在目标产品的三维模型的周围展示框中;
基于目标产品的运动特性文件,按照时间轴更新目标产品的渲染位置和渲染结果。
在本实施例中,loader函数会将整个目标产品的三维模型文件封装为一个独立的object3d对象,可以将各个组件逐个拆开,这样才能将目标的每个部分进行独立的信息化管理。Object3D本质上是一个抽象类,该类生命了一些3D模型的基本私有属性,如ID、名称、位置、本地矩阵和世界矩阵等,除此之外还声明了一个私有数组,该数组包含了类所有的子类。
在一些实施方式中,目标产品的object3d对象还生命了本地矩阵和世界矩阵;
当用户查看目标产品时,在数字地球对目标产品的三维模型和产品特性进行展示,还包括:
当用户对目标产品的三维模型进行追踪球控制时,获取每次的控制指令,且控制指令包括坐标系变换方式、控制属性和控制变量;其中,坐标系变换方式包括本身坐标系变换和场景坐标系变换,控制属性包括平移、旋转及缩放,控制变量包括平移变量和变换矩阵;
基于坐标系变换方式、控制属性,获取三维引擎Z3D中封装的工具类的控制函数;
利用控制函数和控制变量,对目标产品的object3d对象中生命的本地矩阵和世界矩阵进行更新。
在本实施例中,模型加入场景后,允许用户从不同角度来查看模型。封装了很多场景控制类,其中最常用的是第一人称控制和追踪球控制,前者用于第一人称漫游控制,后者用于旋转、平移和缩放控制,可以预定义一些控制热键,如表1所示。
表1系统预定义热键
鼠标按键 | 动作 |
左键拖拽 | 水平旋转、垂直旋转 |
右键拖拽 | 平移 |
鼠标滚轮 | 前滚放大、后滚缩小 |
系统中封装了一个工具类TransformControls.js,可以直接用来进行平移、旋转和缩放操作。其中有两种坐标系变换方式,即“local”及“world”,前者就是按对象本身坐标系进行变换,后者即按整个场景坐标系进行变换。在控制对象的平移、旋转及缩放时,分别对应position,rotation,scale这三个属性。函数updateMatrix()和updateMatrixWorld(force)将根据控制属性和控制变量更新对象的matrix和matrixWorld,其中matrix表示本地矩阵,仅仅表示该对象的运动,而matrixWorld则需要依次向父亲节点迭代,每一次迭代都左乘父亲对象的本地矩阵和世界矩阵。
可以理解,在三维空间坐标中,对象的平移变换是在目标产品的初始位置点坐标基础上加上一个平移变量;对象的旋转变换是变换后点坐标等于初始位置点坐标乘以一个变换矩阵,绕指定的任意轴旋转变换就是由几个绕坐标轴旋转变换和平移变换效果叠加而成的。同样的,对象的缩放变换为初始位置点坐标乘以一个变换矩阵。即每一次控制时,根据控制变量中的平移变量和/或变换矩阵,利用控制函数对目标产品的object3d对象中生命的本地矩阵和世界矩阵进行更新。
在一些实施方式中,三维模型文件还包括光源文件;
当用户查看目标产品时,在数字地球对目标产品的三维模型和产品特性进行展示,还包括:
基于目标产品的各个组件模型文件,将三维模型进行拆解;
基于目标产品的网格模型文件,展示拆解后各组件的网格模型和组件功能,并基于光源文件,在展示场景中添加光源。
在本实施例中,为了全面展示每一个组件的功能、形状、产品特性,可以基于目标产品的各个组件模型文件,将三维模型进行拆解,拆解出来的组件模型主要用来做目标的网格展示和组件功能展示,在三维模型文件中,还会有一些其他信息,比如灯光、材质等,普通的展示场景,需要打开灯光、材质等的开关,关闭后就是网格展示。
如图2、图3所示,本发明实施例提供了一种基于WebGL的产品特性三维模型展示装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图2所示,为本发明实施例提供的一种基于WebGL的产品特性三维模型展示装置所在计算设备的一种硬件架构图。除了图2所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的计算设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图3所示,作为一个逻辑意义上的装置,是通过其所在计算设备的CPU将非易失性存储器中对应的计算机程序读取到内存中运行形成的。本实施例提供的一种基于WebGL的产品特性三维模型展示装置,装置包括:
构建单元301,用于在Web端创建三维虚拟地球和二维平面地图,以构建数字地球;
加载单元302,用于获取各产品的三维模型文件,基于每一个三维模型文件的格式,利用对应加载器将该产品的三维模型加载至数字地球中;其中,三维模型文件至少包括产品的各个组件模型文件、运动特性文件、材质特性文件、光学特性文件、电磁特性文件、网格模型文件;
展示单元303,用于当用户查看目标产品时,在数字地球对目标产品的三维模型和产品特性进行展示。
可以理解的是,本发明实施例示意的结构并不构成对一种基于WebGL的产品特性三维模型展示装置的具体限定。在本发明的另一些实施例中,一种基于WebGL的产品特性三维模型展示装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明实施例还提供了一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现本发明任一实施例中的一种基于WebGL的产品特性三维模型展示方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序在被处理器执行时,使所述处理器执行本发明任一实施例中的一种基于WebGL的产品特性三维模型展示方法。
具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展模块中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展模块上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种基于WebGL的产品特性三维模型展示方法,其特征在于,包括:
在Web端创建三维虚拟地球和二维平面地图,以构建数字地球;
获取各产品的三维模型文件,基于每一个三维模型文件的格式,利用对应加载器将该产品的三维模型加载至所述数字地球中;其中,所述三维模型文件至少包括产品的各个组件模型文件、运动特性文件、材质特性文件、光学特性文件、电磁特性文件、网格模型文件;
当用户查看目标产品时,在所述数字地球对所述目标产品的三维模型和产品特性进行展示。
2.根据权利要求1所述的方法,其特征在于,所述在Web端创建三维虚拟地球和二维平面地图,以构建数字地球,包括:
封装JavaScript开源框架ZGIS,底层以WebGL作为图形渲染引擎,生成三维引擎Z3D;
利用所述三维引擎Z3D中的ZGIS.Viewer插件创建三维虚拟地球和二维平面地图,生成初始数字地球;
对所述初始数字地球的功能进行封装,支持所述三维虚拟地球和所述二维平面地图之间的切换,并且集成不同的来源数据加载功能;
封装基本控制操作,以使用户对所述三维虚拟地球和所述二维平面地图进行控制操作;
加入时间轴,以在所述三维虚拟地球和所述二维平面地图中进行各产品的地理空间分布展示和时间动态数据展示,生成数字地球。
3.根据权利要求2所述的方法,其特征在于,所述利用所述三维引擎Z3D中的ZGIS.Viewer插件创建三维虚拟地球和二维平面地图,生成初始数字地球,包括:
利用ZGIS.Viewer插件创建三维虚拟地球对象;
从ZGIS.Viewer插件中获取几何基元容器;
基于获取的二维平面地图,创建若干个几何形状和几何属性,以生成创建三维虚拟地球所需的若干个几何实例;
创建若干个几何基元,并将所述几何实例赋予所述几何基元的几何学属性,将预先创建的几何外观赋予所述几何基元的外观属性;
将创建好的若干个几何基元添加到所述几何基元容器中,以在所述三维虚拟地球中渲染出来,生成初始数字地球。
4.根据权利要求1所述的方法,其特征在于,所述获取各产品的三维模型文件,基于每一个三维模型文件的格式,利用对应加载器将该产品的三维模型加载至所述数字地球中,包括:
获取用于将各种格式的三维模型文件加载到所述数字地球的若干个加载器;其中,所述加载器与格式为一一对应关系;
针对获取的每一个产品的三维模型文件,均执行:
基于当前产品的三维模型文件中各个组件模型文件、运动特性文件、材质特性文件、光学特性文件、电磁特性文件、网格模型文件的格式,获取对应的加载器,以利用所述加载器导入所述三维模型文件中的每一个文件;
利用所述加载器中的Loader函数,将所述三维模型文件封装为一个object3d对象,并将该产品的所述三维模型文件中的每一个文件加载至所述数字地球中;
利用render方法将所述三维模型文件中各个组件模型文件、运动特性文件、材质特性文件、光学特性文件、电磁特性文件、网格模型文件分别渲染在所述数字地球中。
5.根据权利要求4所述的方法,其特征在于,所述当用户查看目标产品时,在所述数字地球对所述目标产品的三维模型和产品特性进行展示,包括:
当用户查看目标产品时,基于所述目标产品的材质特性文件、各个组件模型文件以及object3d对象中生命的位置,将所述目标产品的三维模型渲染在所述数字地球中;
基于所述目标产品的光学特性文件和电磁特性文件,将所述目标产品的光学特性和电磁特性渲染在所述目标产品的三维模型的周围展示框中;
基于所述目标产品的所述运动特性文件,按照时间轴更新所述目标产品的渲染位置和渲染结果。
6.根据权利要求4所述的方法,其特征在于,所述目标产品的所述object3d对象还生命了本地矩阵和世界矩阵;
所述当用户查看目标产品时,在所述数字地球对所述目标产品的三维模型和产品特性进行展示,还包括:
当用户对所述目标产品的三维模型进行追踪球控制时,获取每次的控制指令,且所述控制指令包括坐标系变换方式、控制属性和控制变量;其中,所述坐标系变换方式包括本身坐标系变换和场景坐标系变换,所述控制属性包括平移、旋转及缩放,所述控制变量包括平移变量和变换矩阵;
基于所述坐标系变换方式、所述控制属性,获取所述三维引擎Z3D中封装的工具类的控制函数;
利用所述控制函数和所述控制变量,对所述目标产品的object3d对象中生命的本地矩阵和世界矩阵进行更新。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述三维模型文件还包括光源文件;
所述当用户查看目标产品时,在所述数字地球对所述目标产品的三维模型和产品特性进行展示,还包括:
基于所述目标产品的各个组件模型文件,将所述三维模型进行拆解;
基于所述目标产品的网格模型文件,展示拆解后各组件的网格模型和组件功能,并基于所述光源文件,在展示场景中添加光源。
8.一种基于权利要求1-7中任一项所述方法的基于WebGL的产品特性三维模型展示装置,其特征在于,装置包括:
构建单元,用于在Web端创建三维虚拟地球和二维平面地图,以构建数字地球;
加载单元,用于获取各产品的三维模型文件,基于每一个三维模型文件的格式,利用对应加载器将该产品的三维模型加载至所述数字地球中;其中,所述三维模型文件至少包括产品的各个组件模型文件、运动特性文件、材质特性文件、光学特性文件、电磁特性文件、网格模型文件;
展示单元,用于当用户查看目标产品时,在所述数字地球对所述目标产品的三维模型和产品特性进行展示。
9.一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311571570.1A CN117523129A (zh) | 2023-11-23 | 2023-11-23 | 基于WebGL的产品特性三维模型的展示方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311571570.1A CN117523129A (zh) | 2023-11-23 | 2023-11-23 | 基于WebGL的产品特性三维模型的展示方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117523129A true CN117523129A (zh) | 2024-02-06 |
Family
ID=89754803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311571570.1A Pending CN117523129A (zh) | 2023-11-23 | 2023-11-23 | 基于WebGL的产品特性三维模型的展示方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117523129A (zh) |
-
2023
- 2023-11-23 CN CN202311571570.1A patent/CN117523129A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107833105B (zh) | 一种基于楼宇建筑信息模型的商场可视化租赁管理方法及系统 | |
US8612040B2 (en) | Automated derivative view rendering system | |
US8566736B1 (en) | Visualization of value resolution for multidimensional parameterized data | |
US11113874B2 (en) | Displaying rich text on 3D models | |
US8749588B2 (en) | Positioning labels in an engineering drawing | |
KR101911906B1 (ko) | 3차원 객체 생성 장치 및 그 방법 | |
Li et al. | Visualizing dynamic geosciences phenomena using an octree-based view-dependent LOD strategy within virtual globes | |
CN101421761A (zh) | 视件和场景图接口 | |
CN113593051B (zh) | 一种实景可视化方法及大坝可视化方法及计算机设备 | |
KR20220024681A (ko) | 광 프로브 생성 방법 및 장치, 저장 매체 및 컴퓨터 디바이스 | |
US20210209864A1 (en) | Generating height maps from normal maps based on virtual boundaries | |
CN111429561A (zh) | 一种虚拟仿真渲染引擎 | |
CN113901367A (zh) | 一种基于WebGL+VR的BIM体量模型展示方法 | |
Guerrero et al. | 3D visualisation of underground pipelines: Best strategy for 3D scene creation | |
US11625900B2 (en) | Broker for instancing | |
US10529100B2 (en) | Interaction-driven format for graph visualization | |
Döllner | Geovisualization and real-time 3D computer graphics | |
CN117523129A (zh) | 基于WebGL的产品特性三维模型的展示方法和装置 | |
US11869123B2 (en) | Anti-aliasing two-dimensional vector graphics using a compressed vertex buffer | |
CN116647657A (zh) | 响应式视频画布生成 | |
Li et al. | Semantic volume texture for virtual city building model visualisation | |
Lu | Unreal engine nanite foliage shadow imposter | |
KR100624455B1 (ko) | 3차원 그래픽스 환경에서의 라이트맵 처리 방법 및 장치 | |
Liu et al. | A 3D display system for cloth online virtual fitting room | |
US20240111496A1 (en) | Method for running instance, computer device, and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |