基于WebGL的3D可视化告警系统关键技术解析 ThingJS

本文为博客 VIP 文章,开通 VIP 后可阅读全文

开通 VIP

#三维可视化# #3D开发#

  1. WebGL 3D技术
  2. 新一代3D框架-ThingJS
  3. 3D可视化告警系统案例
  4. 基于ThingJS的通用架构设计

在这里插入图片描述

WebGL 3D技术

WebGL是一种在网页浏览器中渲染3D图形的 JavaScript API,无需加装插件,只需编写网页代码即可实现3D图形的展示。WebGL技术相较于传统的Web3D技术有两大优点:第一,通过JavaScript脚本语言实现网络交互式三维动画制作,无需依赖任何浏览器插件;第二,WebGL基于底层的 OpenGL接口实现,具有底层图形硬件(GPU)加速功能。

WebGL绘制3D模型的过程分为四个步骤如下:

第一,获取顶点坐标。顶点坐标通常来自三维软件导出,在获取到顶点坐标后,存储到显存以便GPU更快读取;第二,图元装配,画出一个个三角形。图元装配就是由顶点生成一个个图元(即三角形),这个过程是由顶点着色器完成的。顶点着色器会先将顶点坐标通过矩阵变换为屏幕坐标,然后由GPU进行图元装配;第三,进行光栅化,即生成片元 (一个个像素点)。第四,在图元生成完毕之后,还需要给模型“上色”,由运行在GPU的“片元着色器”来完成。
在这里插入图片描述

新一代3D框架

如果直接使用 WebGL开发3D效率比较低,需要开发者对图形学知识有很深入的了解,碎片化的概念并不易于开发。为了解决开发效率低的问题,出现了基于 JavaScript语言的第三方库-three.js,这是开源的技术,受到了广大前端转3D开发师的追捧。

three.js是一个跨浏览器的脚本,它封装了底层的图形接口,对 WebGL有很好的支持,不需要掌握复杂的图形学知识就能实现三维场景的渲染。如渲染黑色背景下的白色正方体和三角形, WebGL需要编程代码大约150行,而 threejs编程只需要30行左右的代码,工作量只有 WebGL的五分之一,大幅提高了开发效率。

相较而言,近两年新兴的3D框架-ThingJS,封装了几乎所有的3D概念,开发人员甚至不需要3D专业知识储备,直接使用JavaScript调用3D源码,轻松实现3D效果,顺利完成二次开发。如加载3D场景,three.js需要100行左右的代码,ThingJS仅需1行,直接JavaScript脚本调用3D场景URL。
在这里插入图片描述

3D可视化告警系统案例

3D可视化告警系统常见于城市交通指挥、地铁通信、智能家居、消防安全领域,工业自动化设备运维管理过程中,常遇到故障设备定位困难、监控数据不形象不直观等问题,基于 WebGL技术的3D框架开发,本案例实现了一个通用的3D可视化告警系统设计方案,不仅摆脱了传统3D可视化方案依赖插件的束缚,解决了出错率高、数据难以沉淀等问题。

从用户角度出发,采用 WebGL技术在浏览器端对工业生产设备进行虚拟化仿真模拟,并基于综合监控管理平台采集到的设备运行数据进行车间设备运行情况的形象立体化展示,3D场景动效给管理者以良好的沉浸感和交互感,摆脱表格、文本等比较传统的管理方式。
在这里插入图片描述

某港口的数字告警监控可视化应用界面

基于ThingJS的通用架构设计

一个通用的告警系统,分为数据存储层、数据处理层和数据展示层。

数据存储层主要使用 mysql数据库存储设备、数据基本信息和采集到的告警信息,使用json文件存储3D模型数据信息;数据处理层主要结合Ajax数据对接方式在线判断告警信息,利用JavaScript脚本对数据进行处理分析以及业务逻辑的实现;数据展示层主要使用基于 WebGL的 ThingJS平台组件完成对3D场景的加载渲染,并提供在线项目分享功能,用户可以生成唯一URL和二维码,在其他web系统嵌入iframe链接进行演示。【官网注册链接
在这里插入图片描述

01 基础功能构建

基础操作含3大功能模块:设备管理模块、3D场景漫游模块以及设备健康状态管理。
在这里插入图片描述

(1) 设备管理。

用户可以查看设备基本信息,通过拖拽的形式改变设备在场景中的位置,实现设备的缩放和旋转操作,还可以根据自己的需要添加和删除设备。ThingJS的开发师调用js脚本,控制物体的位置、旋转、缩放,包括Z轴方向移动。【查看完整示例

// 位置
app.on('click', function(event) {
   
   
    if 
基于WebGL的三维大屏可视化技术实践 thingjs 3d 开发 DataV, 腾讯云图,帆软等可视化大屏应用厂商,都提供三维可视化分析工具。ThingJS是近两年新兴的3D可视化开发组件,助力物联网3D可视化的未来发展。新基建浪潮汹涌,智慧城市建设也到了落地阶段,不再是纯粹的概念,很多物联网技术开始崭露头角,相较于之前的低调行为,3D可视化领域有何变化呢? 以前 三维可视化城市大屏应用属于保密项目,CVS(可视化展示服务)系统部署在安全消防、城市交通、智慧工厂、城市管理等运营管理客户端,属于小众需求,随着云模式部署比例加大,大屏应用支持可视化组件进行监控画面搭建,中小开 阅读详情

相关推荐

封装threejs,让3D可视化开发不再复杂的webgl可视化平台-ThingJS

众所周知,threejs是时下非常火的一个3d js库,WebGL中文网中的介绍说threejs就是是使用JavaScript来编写3D程序,在webgl中文网中,有着对于threejs的讲解,和教程,当然,threejs官网上也有着十分详细的教程。什么是webgl?WebGL是在浏览器中实现三维效果的一套规范。因此也就有了各种3d 的js库,其中threejs较为突出,但是学习threejs要一...

qq_42739428的博客 5634

threejs-example:3D可视化教程

threejs-示例 Blender工程项目在 。教程还在制作当中。这是3D可视化教程源码,教程内容在。 yarn # dev yarn run dev # build yarn run build

WebGL:BabylonJS、Threejs、LayaboxJS、SceneJS、ThingJS比较

目前3d技术发展十分迅速,最初是WebGL,这是一种3d绘图协议,它将JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的一个JavaScript绑定,WebGL可以为HTML5 Canvas提供硬件3D加速渲染,这样Web开发人员就可以借助系统显卡来在浏览器里更流畅地展示3D场景和模型了,还能创建复杂的导航和数据视觉化。

2401_82881178的博客 2617

基于 HTML5 的 WebGL 自定义 3D 摄像头监控模型

前言 随着视频监控联网系统的不断普及和发展, 网络摄像机更多的应用于监控系统中,尤其是高清时代的来临,更加快了网络摄像机的发展和应用。 在监控摄像机数量的不断庞大的同时,在监控系统中面临着严峻的现状问题:海量视频分散、孤立、视角不完整、位置不明确等问题,始终围绕着使用者。因此,如何更直观、更明确的管理摄像机和掌控视频动态,已成为提升视频应用价值的重要话题。所以当前项目正是从解决此现状问题的角度,应...

weixin_34366546的博客 1185

国标GB28181安防视频监控平台Liveweb在港口监控管理平台中的应用

LiveWeb是一套综合视频汇聚管理平台,可提供多协议(RTSP/RTMP/GB28181/海康Ehome/大华,海康SDK等)的视频设备接入,支持GB/T28181上下级联,RTSP\RTMP转GB/T28181,云台控制,视频对讲;这不仅提升了视频监控资源的利用效率,还有助于实现港口的安全生产和高效管理‌。综上所述,GB28181安防视频监控平台Liveweb在港口的具体应用案例中,通过无线监控传输系统和多协议支持能力,实现了港口可视化监控管理平台的建设,提升了港口的安全生产水平和管理效率。

hey5178的博客 546

工业Web组态可视化开发软件——Sovit2D

组态软件指一些数据采集与过程控制的专用软件,Web组态软件是指通过浏览器操作组态工具、浏览组态画面,实现工程管理、组态编辑以及组态运行三大功能。组态编辑器是用来开发组态画面的可视化工具。

码为人生的博客 2681

最火前端Web组态软件(可视化)

前言: 随着物联网、大数据等技术高速发展,我们逐步向数字化、可视化的人工智能(AI)时代的方向不断迈进。智能时代是工业 4.0 时代,我国工业领域正努力从“制造”迈向“智造”的新跨越。 正文: 1.mxgraph: 介绍:开源免费,但是需要解决的问题很多,国内学习参考资料少。但是,可视化组态的实现基本都是借助于这个框架来实现的。 演示demo: https://jgraph.github.io/mxgraph/javascript/examples/grapheditor/www/index.ht

砖家穴者叫兽的博客 3055

基于WebGL3D可视化告警系统关键技术解析ThingJS

基于WebGL3D可视化告警系统关键技术解析ThingJS #三维可视化# #3D开发# WebGL 3D技术 新一代3D框架-ThingJS 3D可视化告警系统案例 基于ThingJS的通用架构设计 WebGL 3D技术 WebGL是一种在网页浏览器中渲染3D图形的 JavaScript API,无需加装插件,只需编写网页代码即可实现3D图形的展示。WebGL技术相较于传统的Web3D技术有两大优点:第一,通过JavaScript脚本语言实现网络交互式三维动画制作,无需依赖任何浏览.

huang714的专栏 857

基于WebGL3D技术在网页中的运用 ThingJS

Three.js、ThingJS这些引擎库可以加载3D制作软件的模型,大幅度提高了制作效率,改变WebGL开发困难的局面,让Web开发者享受便捷的3D开发服务。三者的开发难度对比如下: ThingJS(框架)< Three.js(引擎)< WebGL(接口) 3D绘图标准 - WebGL WebGL是一种3D绘图标准,通过结合Javascript和OpenGL ES 2.0,可以为HTML5的Canvas标签提供硬件3D加速渲染,这样Web开发人员可以借助系统显卡在浏览器里更流畅地展示3D

ThingJS的博客 2165

基于webgl的建筑安全三维可视化应用 ThingJS 3d 开发

建筑安全管理一直是城市管理一项重要工作,ThingJS有不错的案例如腾讯总部大厦,项目难度虽然很虐,但在此项目中需要获取高层建筑几何特征和健康信息,尤其体现了三维模型在表达房屋信息方面具有直观、方便的优势,能以可视化方式反映建筑物的几何外观及内部结构,被认可为腾讯“微翎”项目的核心应用,三维项目演示DEMO点击查看>> 其实,房屋安全问题对于社区来讲更为重要,居民楼或者库房都如雨后春笋冒出来,也加重了城市安全管理的担子。近年来,全国范围内发生了多起房屋开裂、沉降、坍塌等事故,房屋安全问题太多,

ThingJS的博客 2036

基于webgl、封装threejs的3d物联网可视化开发平台

webgl可视化平台,封装threejs进行快速数据对接,使用Echarts图表结合webgl可视化平台进行数据对接,3D物联网开发选哪个?前端人员能不能跑来搞3D可视化开发?用什么可以简单快速建模?开发中遇到问题不知道如何解决?别急,使用ThingJS物联网可视化平台就能解决这些问题!   CamBuilder: 专为小白建模使用,大多数的模型都内置了动画效果,使用代码即可自由操控; City...

qq_42739428的博客 9093

基于WebGL的仓储粮食温度可视化 ThingJS

#三维可视化##3D开发# Web端粮堆温度可视化 什么是B样条曲线 ThingJS 3D引擎技术 粮堆的温度可视化告警 Web端粮堆温度可视化 为了控制谷物储藏温度,需要创造一个不利于虫霉生长低温环境的储粮技术环境,然而出于成本考虑以及进出粮的需要,粮堆内的温度传感器设置数量有限,因此在储粮当中测得的温度值只是传感器附近的温度,其他部分则需要利用相应的方法进行数值模拟。 如今,计算机可视化技术画出相应的三维立体图像,以便人们得到直观、有效的结果。面对人们对跨平台,Web交互等方面的需求越来越强烈以及

ThingJS的博客 1561

基于WebGL架构的3D可视化ThingJS平台—粮仓3D场景

前言 什么才是智慧粮仓 正所谓“国以民为本,民以食为天”。粮食既是关系国计民生和国家经济安全的重要战略物资,也是人民群众最基本的生活资料。其中粮仓是粮食建设的根基,对保障粮食安全尤为重要。随着信息化技术发展,全国各地开始智慧粮仓的建设: 可视一体化,让粮仓“智慧”升级 可视:粮仓的园区、仓区、仓库、设备的3D可视; 可查:3D场景内查看粮情、动环、仓容、能耗、视频监控、出入库等信息; 可控:3D场...

qq_23950693的博客 1678

基于WebGL架构的3D可视化平台ThingJS—让粮仓“智慧”升级

什么才是智慧粮仓 正所谓“国以民为本,民以食为天”。粮食既是关系国计民生和国家经济安全的重要战略物资,也是人民群众最基本的生活资料。其中粮仓是粮食建设的根基,对保障粮食安全尤为重要。随着信息化技术发展,全国各地开始智慧粮仓的建设: 可视一体化,让粮仓“智慧”升级 可视:粮仓的园区、仓区、仓库、设备的3D可视; 可查:3D场景内查看粮情、动环、仓容、能耗、视频监控、出入库等信息; 可控:3D场景内控...

qq_23950693的博客 1957

基于WebGL无插件虚拟场景漫游关键技术(完整版)ThingJS

#三维可视化##3D开发# WebGL, ThingJS3DSMAX 虚拟场馆漫游技术构建 基础组件 加载三维模型 实现虚拟漫游 渲染优化 如果要构建一个具有交互性和拓展性的沉浸式漫游场景,常用到3DSMAX、three.js等软件技术,学习门槛较高;ThingJS可视化组件更加轻量化,B/S架构下的3D可视化应用构建更轻松,为不少企业客户降低了项目开发成本。 WebGLThingJS3DSMAX技术实现 WebGL是一种浏览器支持的3D绘图技术,无需下载插件,有跨平台跨终端的特性。如今广泛

ThingJS的博客 2551

基于WebGL的虚拟太阳系漫游技术实现 ThingJS 科幻片

#三维可视化##3D开发# 虚拟功能需求 2. 太阳系运行需求 3. 3D模型呈现 4. ThingJS技术分析 5. 系统实现步骤 3D可视化技术逐渐应用到现代多媒体的课堂教学中。 虚拟太阳系是一款天文类的3D可视化应用,它借助3D在线浏览,模拟了一个“真实”的太阳系,以太阳为中心,八大行星逆时针围绕太阳公转,还有很多卫星绕转在行星或者小天体周围。ThingJS平台在线提供教学演示链接,在中小学生的地理课堂或网上天文馆作为虚拟课程案例使用。 以下是具体需求分析。 一、功能需求 B/S架构为主,通过浏览器

ThingJS的博客 1907

基于ThingJS开发的WebGL H5停车场三维可视化管理Demo

前言 随着社会的发展,城市中的汽车越来越多。车辆集中存放管理的场所被人类提出车辆进出的秩序、车辆存放的安全性、车辆存放管理的有偿性等要求。停车场系统应用现代机械电子及通讯科学技术,集控制硬件、软件于一体。随着科技的发展,停车场管理系统也日新月异,目前最为专业化的停车场系统为免取卡停车场。下面我们就用ThingJs平台来搭建一个3d可视化的停车场管理系统。 点击查看:DEMO    效果 ...

阿里iOT 7420

基于WebGL的三维数据可视化大屏开发流 ThingJS

三维数据大屏可视化系统包含多源数据连接、生成二维/三维视图、构建可视化大屏、大屏功能应用等一体化服务,基于多年可视化项目经验,ThingJS平台得出从数据源上传到可视化大屏应用的完整流程,供参考。 多源数据连接功能 系统提供对数据的多种连接方式,包括:多种数据库数据源连接、实时数据表和静态文件数据源,具体可查看数据文件列表页。 可视化视图构建功能之图形展现 可视化大屏提供丰富的二维及三维图形展现, 平面图表是常见的视图元素。界面侧边栏提供应有尽有的可视化视图列表,包含了太阳图、柱状图、饼图、玫瑰图、折线图

ThingJS的博客 3401
上一篇: 结合Echarts、Ajax技术实现可视化大屏监控 ThingJS 3d 开发
下一篇: 基于WebGL实现智慧校园的全景漫游技术研究 三维可视化
ThingJS_小锘
博客等级 码龄6年 169粉丝 254原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值