基于WebGL/Threejs技术的BIM模型轻量化之图元合并

摘要:
尤其是HTML5/WebGL技术的发展更是在各个行业内引起颠覆性的变化。随着WebGL标准被广泛接受,出现了许多基于HTML5的开源三维引擎,如threejs、scenejs等。尤其threejs使用非常广泛,一方面由于其使用门槛较低,另一方面是其支持若干种三维文件格式,如stl、obj、3ds、obj、dae、fbx等。对于中小规模的三维模型,使用threejs可以快速搭建一个基于Web的模型浏览应用。三维模型轻量化主要包括两个方面:模型轻量化显示和模型文件转换。

伴随着互联网的发展,从桌面端走向Web端、移动端必然的趋势。互联网技术的兴起极大地改变了我们的娱乐、生活和生产方式。尤其是HTML5/WebGL技术的发展更是在各个行业内引起颠覆性的变化。随着WebGL标准被广泛接受,出现了许多基于HTML5的开源三维引擎,如threejs、scenejs等。尤其threejs使用非常广泛,一方面由于其使用门槛较低,另一方面是其支持若干种三维文件格式,如stl、obj、3ds、obj、dae、fbx等。对于中小规模的三维模型,使用threejs可以快速搭建一个基于Web的模型浏览应用。

基于WebGL/Threejs技术的BIM模型轻量化之图元合并第1张

基于WebGL/Threejs技术的BIM模型轻量化之图元合并第2张

基于WebGL/Threejs技术的BIM模型轻量化之图元合并第3张

基于WebGL/Threejs技术的BIM模型轻量化之图元合并第4张

基于WebGL/Threejs技术的BIM模型轻量化之图元合并第5张

浏览器受计算能力和内存限制等方面的影响,基于桌面的对模型的数据组织和加载方式须做出相应调整,即需要更多的使用三维模型轻量化技术对模型进行深度处理。三维模型轻量化主要包括两个方面:模型轻量化显示和模型文件转换。

图元合并:应用于大模型结构比较复杂,顶点、面比较数据比较大,可以通过算法根据权重剔除相应的顶点、面。从而到达轻量化模型效果。

几何对象构件对象化: 相同形状的几何对象不做多次拷贝,大模型相同几何体只做一个加载,只做相同模型构件移动、旋转、缩放。这样做模型文件和浏览器内存的大小得到明显减少。

场景八叉树划分:八叉树可以快速剔除不可见图元,减少进入渲染区域的绘制对象。

Lod:模型可以设备Lod,根据距离、级别加载不同复杂度结构模型。

模型文件压缩:三维模型stl、obj、3ds、obj、json等文件格式算法压缩。

基于WebGL/Threejs技术的BIM模型轻量化之图元合并第6张

1.模型图元合并20%效果

基于WebGL/Threejs技术的BIM模型轻量化之图元合并第7张基于WebGL/Threejs技术的BIM模型轻量化之图元合并第8张

2.模型图元合并50%效果

基于WebGL/Threejs技术的BIM模型轻量化之图元合并第9张基于WebGL/Threejs技术的BIM模型轻量化之图元合并第10张

基于WebGL/Threejs技术的BIM模型轻量化之图元合并第11张

免责声明:文章转载自《基于WebGL/Threejs技术的BIM模型轻量化之图元合并》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇SpringBoot上传相关配置bedtools 的安装与使用下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

ThreeJS之动画交互逻辑及特效

 工作需要,研究了一下 threejs 简单逻辑动画交互方法。写了一个小示例,分享一下,挺丑的。 第一步 当然就是初始化 threejs 的渲染场景了。 var camera; //相机 var scene;//场景 var renderer;//webGL渲染器 var controls;//轨道控件,用于特定场景,模拟轨道中的卫星,可以用鼠标和键...

ThreeJs 基础入门

本文来自网易云社区 作者:唐钊 Three.js 是一款运行在浏览器中的 3D 引擎,你可以用它在 web 中创建各种三维场景,包括了摄影机、光影、材质等各种对象。使用它可以让我们更加直观的了解 webgl 的世界。 3D 场景前置知识 1.场景(Scene):是物体、光源等元素的容器,可以配合 chrome 插件使用,抛出 window.scene即可...

Threejs的学习 2、点,线,面

在Threejs中定义一个点 在three.js中,点可以在右手坐标系中表示:空间几何中,点可以用一个向量来表示,在Three.js中也是用一个向量来表示的,代码如下所示: THREE.Vector3 = function ( x, y, z ) { this.x = x || 0; this.y = y || 0; this.z = z || 0;...

WPF 显示3D密集场景,堆场管理系统

又好久好久没写博客了,这次接着上文https://www.cnblogs.com/CSSZBB/p/12785380.html,上文用WPF 的绘图功能,制作了一个伪3D的2.5D控件ThreeDBox ,那么这玩意我是用来干啥那?没事做做着玩么? 简单来说,这个东西用来显示密集型的操作画面,比如显示一个堆场里集装箱的摆放情况,是不是稍微有点像了那?当然为...

WebGL简易教程——目录

目录 1. 绪论 2. 目录 3. 资源 1. 绪论 最近研究WebGL,看了《WebGL编程指南》这本书,结合自己的专业知识写的一系列教程。之前在看OpenGL/WebGL的时候总是感觉OpenGL/WebGL看的时候懂,实际用起来却挺难,感觉中间总是隔着很多东西。现在一路边学边写,才明白这中间缺少的其实就是总结,是实践;把这个过程写出来,既是...

Autodesk的照片建模云服务—Autodesk ReCap 360 photo

现实捕捉技术方兴未艾,简单的讲现实捕捉技术就是把现实中的现状信息数字化到计算机中以便做进一步的处理。对于不同的应用目的会有不同的捕捉设备,工程或传媒娱乐行业中经常用到的肯定就是三维模型了。那如何得到三维模型呢?我们有多种途径和设备,比如通过全站仪、GPS测绘然后建模,激光扫描仪扫描成点云等。你可以看看AU社区上的这个视频介绍了现实捕捉技术的背景知识。 提到...