CN112184874A - 一种轻量化三维模型高性能图形标记、进度模拟及导航方法 - Google Patents
一种轻量化三维模型高性能图形标记、进度模拟及导航方法 Download PDFInfo
- Publication number
- CN112184874A CN112184874A CN202011127470.6A CN202011127470A CN112184874A CN 112184874 A CN112184874 A CN 112184874A CN 202011127470 A CN202011127470 A CN 202011127470A CN 112184874 A CN112184874 A CN 112184874A
- Authority
- CN
- China
- Prior art keywords
- icon
- dimensional model
- marking
- information
- dimensional
- 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 55
- 238000004088 simulation Methods 0.000 claims abstract description 16
- 238000009877 rendering Methods 0.000 claims abstract description 13
- 238000012545 processing Methods 0.000 claims abstract description 11
- 230000006870 function Effects 0.000 claims description 16
- 239000012634 fragment Substances 0.000 claims description 15
- 239000003086 colorant Substances 0.000 claims description 13
- 239000000463 material Substances 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 5
- 230000011218 segmentation Effects 0.000 claims description 4
- 238000004422 calculation algorithm Methods 0.000 claims description 3
- 238000005070 sampling Methods 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 abstract description 12
- 239000004576 sand Substances 0.000 abstract description 3
- 238000004891 communication Methods 0.000 abstract description 2
- 238000010276 construction Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 239000003550 marker Substances 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- 238000010977 unit operation Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- 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/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/003—Navigation within 3D models or images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2012—Colour editing, changing, or manipulating; Use of colour codes
Abstract
本发明公开了一种轻量化三维模型高性能图形标记、进度模拟及导航方法。一是使用WebGL着色器技术,充分利用图形处理单元(GPU)的高性能并行执行的特点,可支持百万数量级别的三维模型信息标记渲染显示,用户可通过浏览器,在三维模型上标记各类说明信息,记录发现的问题。二是采用“4D+viewerState”的方法,编制Web浏览器上的4D时空进度计划,三维模型的构件随时间线生长显示出来,实现进度模拟。三是标记内容使用富文本(Rich Text)形式,用户可编辑内容,设置富文本内的文字、图片等与三维模型视图链接和导航联动。适合在各种工程协调沟通会议时使用,如同三维电子沙盘。
Description
技术领域
本发明涉及涉及对轻量化BIM模型进行信息标记和信息回溯,特别涉及一种轻量化三维模型高性能图形标记、进度模拟及导航方法。
背景技术
目前,基于WebGL技术的轻量化BIM模型已经大量在工程建设三维模型领域应用,但对于轻量化三维模型的信息图标标记,通常使用的三维对象标记技术,在应对大型三维模型和大数量的图标标记时,很容易产生性能问题,造成浏览器卡死和崩溃。这是因为三维对象标记本身也是三维构件,占用一定的面片数,大量的三维标记等于增加大量的三维对象,而且不同类型的标记通常的图形特征不同,三维标记对象的设计工作量较大,加载和交互更加消耗网络、内存和图形处理单元运算资源。
因此,有必要针对大型三维模型和大数量的信息图标标记应用和交互,开发针对的方法和系统。同时,针对H5的轻量化BIM模型,网页上进行进度模拟、信息回溯的系统比较少见,一般的信息标记比较简单。这种应用也对大数量的三维信息标记有性能和丰富文本的要求。
发明内容
为了解决目前在进行大型三维模型和大数量的图标标记时,由于资源消耗过大,容易造成浏览器卡死和崩溃的技术问题,本发明提供一种能够大幅减少网络、内存和图形处理单元运算资源性能开支的轻量化三维模型高性能图形标记、进度模拟及导航方法。
为了实现上述技术目的,本发明的技术方案是,
一种轻量化三维模型高性能图形标记方法,包括以下步骤:
步骤1:定义maskup4d对象和标记信息对象;
maskup4d对象包含顶点着色器对象vertexShader和片元着色器对象fragmentShader,采用GLSL ES语言定义顶点着色器对象vertexShade和片元着色器对象fragmentShader;
为顶点着色器对象vertexShader中的图标点云位置坐标、iconid传递参数,根据场景摄像头距离图标点云坐标的距离,设置代表图标屏幕显示像素级大小的gl_PointSize值;
对片元着色器对象fragmentShader基于精灵图分割的纹理颜色绘制进行设置;
步骤2:执行初始化maskup4d方法initMarkUp(),传递标记信息对象集合数据给maskup4d对象属性;
步骤3:执行addMarkupPoint函数进行添加标记操作,将鼠标屏幕坐标,转换成对应的点的三维点坐标Position、被选择的构件exid参数,在标记数组上添加标记记录,生成标记id;
步骤4:执行addPoint(position,icon,externalId,id)函数,添加pointCloudGeometry的vertices、colors、externalIds、dataIds四个数组属性的元素;
其中,position添加到vertices数组,icon添加到colors数组,externalId添加到externalIds数组,id添加到colors数组;id为addMarkupPoint生成的标记id;
步骤5:执行three.js内置函数THREE.PointCloud(pointCloudGeometry,material)函数,,在gpu上执行图形渲染管线流程,在页面上刷新图标集合,显示图标集合,完成新图标添加和加载显示。
所述的一种轻量化三维模型高性能图形标记方法,通过在vertexShader顶点着色器对象中进行设置,进行图标大小显示控制;
gl_PointSize=size*(size/(图标点云点位置距离场景摄像头的距离)+1.0));
且约束条件为:当gl_PointSize低于20时,设置gl_PointSize=20.0,当gl_PointSize超过300时,设置gl_PointSize=300);
其中,gl_PointSize表示顶点像素大小,size表示缺省值。
所述的一种轻量化三维模型高性能图形标记方法,采用GLSL ES定义fragmentShader片元着色器是指在fragmentShader片元着色器中采用精灵图的分割算法和渲染显示:gl_FragColor=gl_FragColor*texture2D(Texture,vec2((gl_PointCoord.x+iconid*1.0)/20.0,1.0-gl_PointCoord.y))
其中,Texture是合并图标的大图形纹理对象(icon.png),iconid表示图标序号,其中序号从0开始,第20个图标iconid=1,由vertexShader传入;texture2D(Texture,vec2textcoord)表示对纹理图片进行颜色取样,vec2 textcoord表示texture2D()函数的第二个参数,gl_FragColor代表着色器管线渲染执行时的当前纹理点颜色值;gl_PointCoord.x和gl_PointCoord.y是着色器管线渲染执行时当前纹理点的纹理坐标值,gl_PointCoord.x和gl_PointCoord.y取值在(0,1)间,texture2D和vec2是three.js内置二维纹理方法名和参数类型。
所述的一种轻量化三维模型高性能图形标记方法,所述标记信息对象包括标记信息id Dataid,标记的定位坐标Position,标记信息图标号Icon,标记信息内容Label,视图状态字符串viewerState,标记关联的三维模型构件编号ExternalId,标记信息有关的时间useTime,标记采集人userID;
其中,视图状态字符串viewerState:由摄像头位置坐标,标记关联的构件颜色、显示隐藏状态、透明度、是否被选定状态在设置时的模型视图状态数据合并而成。
一种轻量化三维模型高性能图形标记方法,通过定义可缩放的矢量图形svg多边形指引线,根据标记三维坐标计算标记屏幕坐标,根据xDivOffset、yDivOffset偏移量计算指示线多边形各个顶点屏幕坐标。
一种轻量化三维模型高性能进度模拟方法,利用前述的方法进行三维模型信息图标标记,并按照以下过程进行进度模拟:
将工程进度时间信息、三维视图的摄像头坐标和场景信息,与三维模型构件的颜色和显隐状态、信息标记关联,形成viewerPort字段内容,viewerPort字段内容包含关联的该任务的模型视图状态即viewerState信息;依据进度任务时间与模型视图状态、选择的构件视图状态和摄像头信息的关系,形成播放帧;以进度任务或时间段为帧,时序播放反映三维模型生长动画的播放帧,实现工程进度模拟。
一种轻量化三维模型高性能导航方法,利用前述的方法将富文本报告内容的文字段或图片设置与三维模型构件的颜色和显隐状态、信息标记关联、摄像头与模型视角状态进行链接关联,viewerPort字段内容包含该富文本内容链接关联的模型视图状态信息,实现富文本报告内容与三维模型视图的导航和联动显示。
一种计算机可读存储介质,包括计算机程序,所述计算机程序指令被处理终端执行时使所述处理终端执行前述的一种基于轻量化三维模型高性能图形标记方法。
本发明的技术效果在于,针对大型轻量化BIM模型,加载大量连接三维构件的图标标记信息时,本发明的方法和系统处理效率非常高。由revit建模的大型变电站模型,模型文件大小高达1.6G的,转换成Autodesk forge格式轻量化模型后,运行网页和模型资源仍然有300M。用传统三维标记方法进行模型构件的标记时,加载大约3000个左右的三维标记,页面运行就非常卡顿,无法流畅操作。本发明的方法进行点云方式的标记,加载1000000个图标标记,网页依然运行流畅。证明了本发明的方法和系统的优越性。
本发明无需专业三维软件,使用浏览器就可以在轻量化三维模型上添加富文本标记信息。这对于使用人员非常方便,使通常的二维平面无法表达问题的具体三维位置说明、平面位置重叠的指示问题、大数量的问题标记说明等,表达起来十分直观和容易。标记富文本信息和被标记位置的三维构件用动态指示线连接,并用户操作模型旋转、缩放时,指示线保持连接在富文本信息和被标记位置的三维构件之间,不会因用户操作失去说明的焦点。本发明技术已用于智慧工地BIM集成应用中,工程现场人员常用于工程问题和设计的说明、传感器分布点标识等场景,类似于增强版的电子沙盘,受到工程技术人员喜爱。
本发明针对浏览器上运行的轻量化模型,提供进度模拟和信息回溯检索功能。通过将任务进度信息,与具体模型构件、标记信息关联,并设置具体任务时段的模型显示隐藏、颜色等状态,系统可按时间轴播放工程三维模型生长动画,表示建设的先后逻辑关系和位置关系、三维关键路径,并可根据任务甘特图,筛选相关标记信息,查看某时间段或任务所在位置、记录的信息。本发明可应用至智慧工地平台,如开发智能手机在三维轻量化模型页面标记发现问题程序,可快速采集现场问题文本和照片,并发布到智慧工地平台上展示,能够极大地扩展了三维信息标记采集应用的范围。
下面结合附图对本发明作进一步说明。
附图说明
图1为本实施例在大型变电站H5轻量化模型基础上再加载15000多个点云图标的同时显示和操作的示意图。
图2为本实施例在使用WebGL轻量化三维模型的页面上对模型相应的构件进行显示和隐藏模型进度生长动画,以及依据不同时间段产生的信息标记的筛选、回溯显示的示意图。
图3为本实施例智慧工地集成的示意图;
图4为模拟本实施例现场人员在应用本发明的技术,进行信息标记和富文本报告三维链接导航的信息说明截图。
具体实施方式
本实施例所实现的一种轻量化三维模型高性能图形标记方法,包括以下步骤:
步骤1:定义maskup4d对象和标记信息对象。
maskup4d对象包含顶点着色器对象vertexShader和片元着色器对象fragmentShader,采用GLSL ES语言定义顶点着色器对象vertexShade和片元着色器对象fragmentShader。
为顶点着色器对象vertexShader中的图标点云位置坐标、iconid传递参数,根据场景摄像头距离图标点云坐标的距离,设置代表图标屏幕显示像素级大小的gl_PointSize值。
对片元着色器对象fragmentShader基于精灵图分割的纹理颜色绘制进行设置。
上述步骤实现了按照图标点云位置坐标、gl_PointSize值大小、iconid值,可逐点设置gl_FragColor值,即能够实现图标屏幕上绘制。
步骤2:执行初始化maskup4d方法initMarkUp(),传递标记信息对象集合数据给maskup4d对象属性。
步骤3:执行addMarkupPoint函数进行添加标记操作,将鼠标屏幕坐标,转换成对应的点的三维点坐标Position、被选择的构件exid参数,在标记数组上添加标记记录,生成标记id。
步骤4:执行addPoint(position,icon,externalId,id)函数,添加pointCloudGeometry的vertices、colors、externalIds、dataIds四个数组属性的元素。
其中,position添加到vertices数组,icon添加到colors数组,externalId添加到externalIds数组,id添加到colors数组。id为addMarkupPoint生成的标记id。
步骤5:执行three.js内置函数THREE.PointCloud(pointCloudGeometry,material)函数,,在gpu上执行图形渲染管线流程,在页面上刷新图标集合,显示图标集合,完成新图标添加和加载显示。
其中函数THREE.PointCloud执行步骤1中的vertexShade对象和fragmentShader对象中的GLSL ES语言定义的方法和程序。
maskup4d函数对象包括标记数据集数组Datas,当前三维场景摄像头对象camera,缺省图标大小size,当前被选中的图标对象label,纹理对象texture,顶点着色器对象vertexShader,片元着色器对象fragmentShader,着色器材质类型ShaderMaterial对象material,点云几何体对象pointCloudGeometry,图标和信息显示框之间的指示线的缺省偏移量xDivOffset、yDivOffset。
所述的轻量化三维模型高性能图形标记方法,通过在vertexShader顶点着色器对象中进行设置,进行图标大小显示控制。
gl_PointSize=size*(size/(图标点云点位置距离场景摄像头的距离)+1.0))。
且约束条件为:当gl_PointSize低于20时,设置gl_PointSize=20.0,当gl_PointSize超过300时,设置gl_PointSize=300)。
其中,gl_PointSize表示顶点像素大小,size表示缺省值。
在进行图标显示最小至最大(20-300像素)的控制,这样可防止在摄像头比较远时,图标显示太小而看不见,而摄像头太近时,图标过大而遮挡过多三维模型构件。
所述的轻量化三维模型高性能图形标记方法,采用GLSL ES定义fragmentShader片元着色器是指在fragmentShader片元着色器中采用精灵图的分割算法和渲染显示:gl_FragColor=gl_FragColor*texture2D(Texture,vec2((gl_PointCoord.x+iconid*1.0)/20.0,1.0-gl_PointCoord.y))
其中,Texture是合并图标的大图形纹理对象(icon.png),iconid表示图标序号(0序号开始),由vertexShader传入。
texture2D(Texture,vec2 textcoord)方法用于对纹理图片进行颜色取样,而gl_FragColor代表着色器管线渲染执行时的当前纹理点颜色值。gl_PointCoord.x和gl_PointCoord.y是着色器管线渲染执行时当前纹理点的纹理坐标值,texture2D和vec2是three.js内置二维纹理方法名和参数名。gl_PointCoord.x和gl_PointCoord.y取值在【0,1】间]。texture2D和vec2是three.js内置二维纹理方法名和参数类型。
icon.png文件内按横坐标排列有20个不同图案但大小相同的正方形图标,iconid序号按图标在icon.png图形中排列的从左至右顺序+1递增,20.0代表一共20个图标,可根据图标类型数进行调整,如本系统是/20.0,可根据图标类型数量N,修改为/N。
所述的轻量化三维模型高性能图形标记方法,所述标记信息对象包括标记信息idDataid,标记的定位坐标Position,标记信息图标号Icon,标记信息内容Label,视图状态字符串viewerState,标记关联的三维模型构件编号ExternalId,标记信息有关的时间useTime,标记采集人userID。
其中,视图状态字符串viewerState:由摄像头位置坐标,标记关联的构件颜色、显示隐藏状态、透明度、是否被选定状态在设置时的模型视图状态数据合并而成。
视图状态字符串viewerState用于在选取图标记录时,可一键导航至该字符串表达的摄像头坐标和其他视图状态。
本实施例还实现了一种轻量化三维模型高性能图形标记方法,通过定义可缩放的矢量图形svg多边形指引线,根据标记三维坐标计算标记屏幕坐标,根据xDivOffset、yDivOffset偏移量计算指示线多边形各个顶点屏幕坐标。即实现指引线跟随模型操作而转动,不论用户怎么操作模型摄像头,始终保持图标、指引线、被标记的模型构件一直相联。
本实施例还实现了一种轻量化三维模型高性能图形标记的进度模拟的方法,利用前述的方法进行三维模型信息图标标记,按照以下过程进行进度模拟:
将工程进度时间信息与三维模型构件的颜色和显隐状态、信息标记关联,viewerPort字段内容包含关联的该任务的模型视图状态信息。依据进度任务与模型视图状态关系,以进度任务或时间段为帧,时序播放三维模型生长动画,实现工程进度模拟。
同时可在模型中动态选择构件集的不同状态,来建立与进度任务的关联。
当选择任意进度任务时,显示任务关联的模型视图状态、以及依据不同时间段产生的信息标记的筛选、回溯显示。viewerPort字段的“stateColor”属性,设置颜色后,可反映任务进度的状态(如红色代表进度滞后)。
本实施例还实现了一种轻量化三维模型高性能图形标记的三维模型视图导航方法,利用前述的方法,将富文本报告内容的文字段或图片设置与三维模型构件的颜色和显隐状态、信息标记关联、摄像头与模型视角状态进行链接关联,viewerPort字段内容包含该富文本内容链接关联的模型视图状态信息,实现富文本报告内容与三维模型视图的联动显示。
用户可在编写和浏览富文本报告内容时,点击该链接,三维模型一键导航和显示到该链接关联的模型视角和状态,聚焦到链接文本有关的模型视图。
本实施例同时实现了一种计算机可读存储介质,包括计算机程序,所述计算机程序指令被处理终端执行时使所述处理终端执行前述的一种基于点云技术的轻量化三维模型信息图标标记方法。
本实施例通过three.js(JavaScript编写的WebGL第三方库)使用pointCloud(点云)的方式(利用加入多个vertex)对使用WebGL技术的轻量化BIM模型进行图标信息标记,通过vertexShader和fragmentShader对点云进行贴图。由于一般在three.js中,每个三维object有多个面片(mash),每个面片由多个顶点和线段对象构成。每个三维objec在屏幕上的显示,都需要计算每个面片、每个构成面片的vertex集合在屏幕上的实际坐标。而three.js的pointCloud点云只包括一个vertex对象,不包括线段和面对象(相对于普通三维object),从而大大减少了三维对象各类变换的计算量。
参见图1,通常的BIM图标信息标记技术,一般是添加三维或二维图标object实现的。pointCloud是利用加入多个vertex而不是更多的三维或二维object,vertex相对三维或二维object占用内存空间和计算资源小得多,且占位和格式固定(标准化),因而可以加入大量的pointCloud标记(一个页面上十万以上数量的标记),而不会因为标记数量太多而导致模型卡死,导致浏览器崩溃,大大提高了程序的性能,本技术特别对于较大的BIM模型和大数量信息标记加载和互操作比较友好。故能实现如图1的在加载大量点云图标的同时进行正常显示和操作。本应用使用WebGL着色器及GLSL ES语言的点云贴图技术实现大数量图标图像跟随三维模型镜头变换而同时改变大小联动,性能优越,且始终保持图标正面朝用户(相对于一般技术所用的三维或二维图标标记,会随着模型镜头变换和操作,不能保持图标正面对着用户)。数据信息可进行多维度的排序和筛选。
参见图2,在使用WebGL轻量化三维模型的页面上,将工程进度信息(时间信息)与三维模型构件的颜色和显隐状态、信息标记关联,使用横道图(甘特图)显示进度信息,可以按时间轴时序播放三维模型构件的颜色和显隐状态(可设置不同时间的模型构件颜色和显隐状态不同),从而实现对模型相应的构件进行显示和隐藏模型进度生长动画,以及依据不同时间段产生的信息标记的筛选、回溯显示。
参见图4,本实施例针对大型三维模型和大数量的信息图标标记应用和交互,开发性能优越的方法和系统,不使用三维对象标记技术,大幅减少网络、内存和图形处理单元运算资源性能开支。同时,开发针对H5的轻量化BIM模型,网页上进行进度模拟、信息回溯的系统,实现高效率的轻量化模型进度模拟动画播放、标记信息按时间轴和甘特图任务条筛选显示、标记内容包括文本(不同字体和颜色)、图片和音视频混合、链接、表格等富文本形式。使用富文本编辑H5格式文本,可设置文字、图片等与模型视图链接和导航联动。应用场景上,工程现场人员可通过浏览器,在三维模型上标记各类说明信息,记录发现的问题(通过H5可在智能移动设备上使用),编制4D时空进度计划,编制富文本汇报材料,实现材料内容与三维模型视图联动和导航。在各种协调沟通会议时使用,如同三维电子沙盘。
Claims (8)
1.一种轻量化三维模型高性能图形标记方法,其特征在于,包括以下步骤:
步骤1:定义maskup4d对象和标记信息对象;
maskup4d对象包含顶点着色器对象vertexShader和片元着色器对象fragmentShader,采用GLSL ES语言定义顶点着色器对象vertexShade和片元着色器对象fragmentShader;
为顶点着色器对象vertexShader中的图标点云位置坐标、iconid传递参数,根据场景摄像头距离图标点云坐标的距离,设置代表图标屏幕显示像素级大小的gl_PointSize值;
对片元着色器对象fragmentShader基于精灵图分割的纹理颜色绘制进行设置;
步骤2:执行初始化maskup4d方法initMarkUp(),传递标记信息对象集合数据给maskup4d对象属性;
步骤3:执行addMarkupPoint函数进行添加标记操作,将鼠标屏幕坐标,转换成对应的点的三维点坐标Position、被选择的构件exid参数,在标记数组上添加标记记录,生成标记id;
步骤4:执行addPoint(position,icon,externalId,id)函数,添加pointCloudGeometry的vertices、colors、externalIds、dataIds四个数组属性的元素;
其中,position添加到vertices数组,icon添加到colors数组,externalId添加到externalIds数组,id添加到colors数组;id为addMarkupPoint生成的标记id;
步骤5:执行three.js内置函数THREE.PointCloud(pointCloudGeometry,material)函数,,在gpu上执行图形渲染管线流程,在页面上刷新图标集合,显示图标集合,完成新图标添加和加载显示。
2.根据权利要求1所述的一种轻量化三维模型高性能图形标记方法,其特征在于,通过在vertexShader顶点着色器对象中进行设置,进行图标大小显示控制;
gl_PointSize=size*(size/(图标点云点位置距离场景摄像头的距离)+1.0));
且约束条件为:当gl_PointSize低于20时,设置gl_PointSize=20.0,当gl_PointSize超过300时,设置gl_PointSize=300);
其中,gl_PointSize表示顶点像素大小,size表示缺省值。
3.根据权利要求1所述的一种轻量化三维模型高性能图形标记方法,其特征在于,采用GLSL ES定义fragmentShader片元着色器是指在fragmentShader片元着色器中采用精灵图的分割算法和渲染显示:
gl_FragColor=gl_FragColor*texture2D(Texture,vec2((gl_PointCoord.x+iconid*1.0)/20.0,1.0-gl_ PointCoord.y))
其中,Texture是合并图标的大图形纹理对象(icon.png),iconid表示图标序号,其中序号从0开始,第20个图标iconid=1,由vertexShader传入;texture2D(Texture,vec2textcoord)表示对纹理图片进行颜色取样,vec2 textcoord表示texture2D()函数的第二个参数,gl_FragColor代表着色器管线渲染执行时的当前纹理点颜色值;gl_PointCoord.x和gl_PointCoord.y是着色器管线渲染执行时当前纹理点的纹理坐标值,gl_PointCoord.x和gl_PointCoord.y取值在(0,1)间,texture2D和vec2是three.js内置二维纹理方法名和参数类型。
4.根据权利要求1所述的一种轻量化三维模型高性能图形标记方法,其特征在于,所述标记信息对象包括标记信息id Dataid,标记的定位坐标Position,标记信息图标号Icon,标记信息内容Label,视图状态字符串viewerState,标记关联的三维模型构件编号ExternalId,标记信息有关的时间useTime,标记采集人userID;
其中,视图状态字符串viewerState:由摄像头位置坐标,标记关联的构件颜色、显示隐藏状态、透明度、是否被选定状态在设置时的模型视图状态数据合并而成。
5.一种轻量化三维模型高性能图形标记方法,其特征在于,通过定义可缩放的矢量图形svg多边形指引线,根据标记三维坐标计算标记屏幕坐标,根据xDivOffset、yDivOffset偏移量计算指示线多边形各个顶点屏幕坐标。
6.一种轻量化三维模型高性能进度模拟方法,其特征在于,利用权利要求1-4任一项所述的方法进行三维模型信息图标标记,并按照以下过程进行进度模拟:
将工程进度时间信息、三维视图的摄像头坐标和场景信息,与三维模型构件的颜色和显隐状态、信息标记关联,形成viewerPort字段内容,viewerPort字段内容包含关联的该任务的模型视图状态即viewerState信息;依据进度任务时间与模型视图状态、选择的构件视图状态和摄像头信息的关系,形成播放帧;以进度任务或时间段为帧,时序播放反映三维模型生长动画的播放帧,实现工程进度模拟。
7.一种轻量化三维模型高性能导航方法,其特征在于,利用权利要求1-4任一项所述的方法将富文本报告内容的文字段或图片设置与三维模型构件的颜色和显隐状态、信息标记关联、摄像头与模型视角状态进行链接关联,viewerPort字段内容包含该富文本内容链接关联的模型视图状态信息,实现富文本报告内容与三维模型视图的导航和联动显示。
8.一种计算机可读存储介质,包括计算机程序,其特征在于,所述计算机程序指令被处理终端执行时使所述处理终端执行权利要求1-4任一项所述的一种基于轻量化三维模型高性能图形标记方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011127470.6A CN112184874A (zh) | 2020-10-20 | 2020-10-20 | 一种轻量化三维模型高性能图形标记、进度模拟及导航方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011127470.6A CN112184874A (zh) | 2020-10-20 | 2020-10-20 | 一种轻量化三维模型高性能图形标记、进度模拟及导航方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112184874A true CN112184874A (zh) | 2021-01-05 |
Family
ID=73923202
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011127470.6A Pending CN112184874A (zh) | 2020-10-20 | 2020-10-20 | 一种轻量化三维模型高性能图形标记、进度模拟及导航方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112184874A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117827012A (zh) * | 2024-03-04 | 2024-04-05 | 北京国星创图科技有限公司 | 一种3d沙盘实时视角跟踪系统 |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104517001A (zh) * | 2014-02-27 | 2015-04-15 | 绿地控股集团有限公司 | 一种基于浏览器的用于展示待建成建筑信息的方法 |
US20170103510A1 (en) * | 2015-10-08 | 2017-04-13 | Hewlett-Packard Development Company, L.P. | Three-dimensional object model tagging |
CN107687847A (zh) * | 2017-08-19 | 2018-02-13 | 山东交通职业学院 | 基于bim和gis建模的校园3d导航方法 |
CN108038915A (zh) * | 2017-12-13 | 2018-05-15 | 中国能源建设集团江苏省电力设计院有限公司 | 一种基于web端三维模拟的变电站工程进度信息可视化系统 |
CN108319479A (zh) * | 2018-01-29 | 2018-07-24 | 蒋成 | 一种基于b/s信息系统的bim扩展增强方法及系统 |
CN109242939A (zh) * | 2018-10-10 | 2019-01-18 | 广联达科技股份有限公司 | 一种模拟施工进度的关键帧动画制作方法和装置 |
CN109559384A (zh) * | 2018-11-19 | 2019-04-02 | 长沙眸瑞网络科技有限公司 | 一种基于WebGL的网页端三维模型编辑方法 |
CN109801373A (zh) * | 2018-10-26 | 2019-05-24 | 苏州百卓网络技术有限公司 | 基于WebGL实现企业生产三维可视化的方法及装置 |
CN109885626A (zh) * | 2019-01-30 | 2019-06-14 | 北京筑业志远软件开发有限公司 | 基于结构化数据和bim模型的城建数字档案智能管理系统 |
CN110008588A (zh) * | 2019-04-04 | 2019-07-12 | 南京林业大学 | 多维度一体化的公路工程施工进度信息管理系统及方法 |
CN110688692A (zh) * | 2019-08-27 | 2020-01-14 | 水利部水利水电规划设计总院 | 一种基于结构化bim模型的二三维联动及叠加显示的方法 |
CN110929612A (zh) * | 2019-11-13 | 2020-03-27 | 北京云聚智慧科技有限公司 | 一种目标对象标注方法、装置及设备 |
CN111009040A (zh) * | 2018-10-08 | 2020-04-14 | 阿里巴巴集团控股有限公司 | 点云实体标注系统、方法、装置及电子设备 |
CN111021265A (zh) * | 2020-01-16 | 2020-04-17 | 中铁十九局集团第一工程有限公司 | 一种基于bim技术的铁路大跨度连续梁转体施工管控方法 |
CN111145352A (zh) * | 2019-12-20 | 2020-05-12 | 北京乐新创展科技有限公司 | 一种房屋实景图展示方法、装置、终端设备及存储介质 |
CN111598379A (zh) * | 2020-03-31 | 2020-08-28 | 中铁建华南建设有限公司 | 项目管理方法、平台、装置、计算机设备和存储介质 |
CN111724462A (zh) * | 2020-06-18 | 2020-09-29 | 北京优锘科技有限公司 | 在Chrome浏览器中三维渲染的方法 |
CN111754138A (zh) * | 2020-07-07 | 2020-10-09 | 天津水泥工业设计研究院有限公司 | 一种基于bim模型的工程建设进度计划管控系统及方法 |
-
2020
- 2020-10-20 CN CN202011127470.6A patent/CN112184874A/zh active Pending
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104517001A (zh) * | 2014-02-27 | 2015-04-15 | 绿地控股集团有限公司 | 一种基于浏览器的用于展示待建成建筑信息的方法 |
US20170103510A1 (en) * | 2015-10-08 | 2017-04-13 | Hewlett-Packard Development Company, L.P. | Three-dimensional object model tagging |
CN107687847A (zh) * | 2017-08-19 | 2018-02-13 | 山东交通职业学院 | 基于bim和gis建模的校园3d导航方法 |
CN108038915A (zh) * | 2017-12-13 | 2018-05-15 | 中国能源建设集团江苏省电力设计院有限公司 | 一种基于web端三维模拟的变电站工程进度信息可视化系统 |
CN108319479A (zh) * | 2018-01-29 | 2018-07-24 | 蒋成 | 一种基于b/s信息系统的bim扩展增强方法及系统 |
CN111009040A (zh) * | 2018-10-08 | 2020-04-14 | 阿里巴巴集团控股有限公司 | 点云实体标注系统、方法、装置及电子设备 |
CN109242939A (zh) * | 2018-10-10 | 2019-01-18 | 广联达科技股份有限公司 | 一种模拟施工进度的关键帧动画制作方法和装置 |
CN109801373A (zh) * | 2018-10-26 | 2019-05-24 | 苏州百卓网络技术有限公司 | 基于WebGL实现企业生产三维可视化的方法及装置 |
CN109559384A (zh) * | 2018-11-19 | 2019-04-02 | 长沙眸瑞网络科技有限公司 | 一种基于WebGL的网页端三维模型编辑方法 |
CN109885626A (zh) * | 2019-01-30 | 2019-06-14 | 北京筑业志远软件开发有限公司 | 基于结构化数据和bim模型的城建数字档案智能管理系统 |
CN110008588A (zh) * | 2019-04-04 | 2019-07-12 | 南京林业大学 | 多维度一体化的公路工程施工进度信息管理系统及方法 |
CN110688692A (zh) * | 2019-08-27 | 2020-01-14 | 水利部水利水电规划设计总院 | 一种基于结构化bim模型的二三维联动及叠加显示的方法 |
CN110929612A (zh) * | 2019-11-13 | 2020-03-27 | 北京云聚智慧科技有限公司 | 一种目标对象标注方法、装置及设备 |
CN111145352A (zh) * | 2019-12-20 | 2020-05-12 | 北京乐新创展科技有限公司 | 一种房屋实景图展示方法、装置、终端设备及存储介质 |
CN111021265A (zh) * | 2020-01-16 | 2020-04-17 | 中铁十九局集团第一工程有限公司 | 一种基于bim技术的铁路大跨度连续梁转体施工管控方法 |
CN111598379A (zh) * | 2020-03-31 | 2020-08-28 | 中铁建华南建设有限公司 | 项目管理方法、平台、装置、计算机设备和存储介质 |
CN111724462A (zh) * | 2020-06-18 | 2020-09-29 | 北京优锘科技有限公司 | 在Chrome浏览器中三维渲染的方法 |
CN111754138A (zh) * | 2020-07-07 | 2020-10-09 | 天津水泥工业设计研究院有限公司 | 一种基于bim模型的工程建设进度计划管控系统及方法 |
Non-Patent Citations (3)
Title |
---|
MICHAEL BEALE: ""3D Markup with icons and InfoCard"", 《FORGE社区博客,HTTPS://FORGE.AUTODESK.COM/BLOG/3D-MARKUP-ICONS-AND-INFO-CARD》 * |
PHILIPPE LEEFSMA: ""High-Performance 3DMarkups with PointCloud in the Forge Viewer"", 《FORGE社区博客,HTTPS://FORGE.AUTODESK.COM/BLOG/HIGH-PERFORMANCE-3D-MARKUPS-POINTCLOUD-FORGE-VIEWER》 * |
中国海洋学会编: "《中国大坝工程学会丛书 创新时代的水库大坝安全和生态保护 2017版》" * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117827012A (zh) * | 2024-03-04 | 2024-04-05 | 北京国星创图科技有限公司 | 一种3d沙盘实时视角跟踪系统 |
CN117827012B (zh) * | 2024-03-04 | 2024-05-07 | 北京国星创图科技有限公司 | 一种3d沙盘实时视角跟踪系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Appleton et al. | Rural landscape visualisation from GIS databases: a comparison of approaches, options and problems | |
AU2010227110B2 (en) | Integration of three dimensional scene hierarchy into two dimensional compositing system | |
US20200012416A1 (en) | Providing graphical indication of label boundaries in digital maps | |
CN105701103B (zh) | 一种基于地理信息的三维应用系统 | |
US9183672B1 (en) | Embeddable three-dimensional (3D) image viewer | |
CN105096368B (zh) | 三维对象处理方法和相关装置 | |
Behzadan et al. | Integrated information modeling and visual simulation of engineering operations using dynamic augmented reality scene graphs | |
CN110503718B (zh) | 三维工程模型轻量化显示方法 | |
KR100915209B1 (ko) | 엑스엠엘 기반의 입체 건물 입면 및 내부 자동 모델링 및내비게이션 시스템 및 그 방법 | |
WO1998044459A1 (en) | Interactive timeline visualization | |
CN109859109B (zh) | 一种系列比例尺pdf地图无缝组织与显示方法 | |
WO2022183519A1 (zh) | 一种可实时交互的三维图形图像播放器 | |
CN104050232B (zh) | 计算机生成动画资产的任意分层加标签 | |
WO2020214583A1 (en) | Augmented reality image retrieval systems and methods | |
CN114862999A (zh) | 一种打点渲染方法、装置、设备及存储介质 | |
CN114842151A (zh) | 基于数字孪生的可缩放矢量图形标签显示方法 | |
US11625900B2 (en) | Broker for instancing | |
CN112184874A (zh) | 一种轻量化三维模型高性能图形标记、进度模拟及导航方法 | |
CN112860839A (zh) | 一种基于Unity3D的水环境质量实时监测方法及装置 | |
Mendes et al. | Interactive 3D visualization of natural and cultural assets | |
CN111949904A (zh) | 一种基于浏览器的数据处理方法、装置以及终端 | |
Van der Spuy | Learn Pixi. js | |
CN111489443A (zh) | 工地施工场景三维可视化方法及装置 | |
She et al. | A building label placement method for 3D visualizations based on candidate label evaluation and selection | |
Liu et al. | A 3D display system for cloth online virtual fitting room |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210105 |
|
RJ01 | Rejection of invention patent application after publication |