前言

智慧楼宇和人们的生活息息相关,楼宇智能化程度的提高,会极大程度的改善人们的生活品质,在当前 工业互联网 大背景下受到很大关注。目前 智慧楼宇可视化监控 的主要优点包括:

  • 智慧化 -- 智慧楼宇是一个生态系统,像人一样拥有感知能力、自我判断能力以及控制能力。
  • 绿色化 -- 绿色建筑在耗能、产能以及能源管理方面实现绿色化,楼宇安防实现绿色化监控。
  • 运行成本可控制 -- 基于可持续发展的要求,现代建筑、商业建筑需运行50年以上,建筑在运行过程中能源消耗巨大,如何降低运营成本降低,使建筑在低碳、环保的状态下健康运行。

衣食住行往往是不可或缺,而楼宇建设一直是社会发展进步的一块基点。以往的管理方式,需要细致地划分各个模块的实施,但各个模块又相对独立,在管理成本上和人力投入上都耗费了许多的精力。现如今在科技日益发展的道路上,我们历经了 工业互联网 的浪潮,又顺应了 5G 新时代、新基建 的发展,工业4.0 不单势在必行,而是已经步步落实。通过技术发展的经验总结,我们可以在互联网实施多样化行业可视化系统监控管理方案,智慧楼宇可视化系统亦是如此,通过一套完备的子系统串联,整理出可视化在线管理系统的集合,极大提升了管理能力和节省劳动力的投入。

传统的 智慧楼宇/楼宇自动化/楼宇安防/智慧园区 常会采用 BIM(建筑信息模型 Building information modeling)软件,如 Autodesk 的 Revit 或 Bentley 这类建筑和工程软件,但这些 BIM 建模模型的数据往往过于庞大臃肿,绝大部分细节信息对楼宇自控意义不大,反而影响拖累了行业 Web SCADAWeb 组态监控的趋势,所以我们采用以 HightopoHT for Web 产品轻量化 HTML5/WebGL 建模的方案,实现快速建模、运行时轻量化到甚至手机终端浏览器即可 3D 可视化运维的良好效果。

本篇文章通过对智能建筑的建模,页面动画效果的实现,以及页面主要功能点进行阐述,帮助我们了解如何使用 HT 实现一个简单的智慧楼宇可视化监控,以及帮助我们了解智慧楼宇,楼宇自动化的优势。

预览地址:基于 HTML5 的 WebGL 楼宇自控 3D 可视化监控 http://www.hightopo.com/demo/ht-smart-building/

界面简介及效果预览

界面通过 2d 图纸叠加在 3d 场景上来实现 2d 界面 与 3d 场景的融合,2d 界面通过自动布局的机制实现了手机端与电脑端的响应式呈现。

界面初始化效果

界面初始化过程中的动画包括地面路径的实时渲染,楼层的展开,楼层的辉光扫描,楼层报警点动态水波,楼层监测数据面板的实时变化等等。

监控界面效果

监控界面包括:

  1. 人员进入大厦的实时监控,面板中动态刷新人员进入大厦的头像以及当前大厦人数等实时信息。
  2. 大厦电梯运行情况实时监控,系统中展示电梯当前的运行位置以及是否在运行等信息。
  3. 大厦某个具体楼层监控数据的实时监控,通过柱状图的形式展示了当前楼层具体信息的大小。
  4. 大厦管道的实时监控,展示了当前智能建筑所有管道的运行情况。

智能建筑建模

该 3d 场景中所有的模型均为线段和六面体搭建,相比较通过 3d Max 建模然后通过 obj 导入来说场景中的三角面会少很多,更加的轻量化,例如场景中建筑的楼层,通过 ht.Shape 类绘制,该类中记录着楼层 points 点的信息以及 segmentsht.List 类型的线段数组信息,segments 代表着点的连接方式,用于告诉 ht.Shape 利用点的信息来绘制二次贝塞尔曲线或者三次贝塞尔曲线或者直线等信息,相关具体说明请参考 HT for Web 的[形状手册],以下为绘制单层的截图:

通过上图可以知道构建完一层模型之后其它几层模型均为相同的,只是 y 轴的数值不同,通过叠加几层之后便可形成一幢大楼的轮廓。如果用户需要搭建智慧园区,智慧楼宇等场景,完全可以使用这种基于 HTML5/WebGL 建模的方案,减少考虑使用 BIM 建模模型。场景中的管道以及背景地图路线都为点连线之后构成,只是通过修改线的颜色粗细或者进行贴图来修改线或者面的样式,场景中的电梯为一个颜色为黄色的简单六面体,电梯线也为一条线段而已,所以场景中的模型都是轻量化的建模,使 3d 场景运行渲染的更加流畅,提升用户体验。

场景关键动画代码分析

1. 地图路线动画代码分析

通过上述智能建筑建模的分析我们可以知道线路都是为点与点之间进行连线而生成,所以当我们绘制完地图的路径之后可以得到所有点的信息,假如直线 AB 为地图中的某一条线段,那么我们可以知道点 A 以及点 B 的点的坐标,之后我们可以计算 AB 线段上任意一点 C 的点的坐标,然后通过连接 A 点与 C 点来形成一条与 AB 线段位置方向相同但是大小比 AB 线段短的线,直到 AC 线段的长度等于 AB 线段长度之后再进行下一条路径动画的绘制,以下为关键伪代码展示:

// currentIndex 为当前路径绘制到的点的索引

通过上述代码可以知道我们获取到了 currentPoints 以及 currentSegments 的信息了,之后便要计算在 fromPoint(A点) 与 toPoint(B点) 连线上点的坐标,即 C 点,以下为计算 C 点的关键伪代码:

// addLength 为每次增加的线段长度值,该程序中使用 500 即每次长度增加 500

以下为动画代码执行流程图

以下为绘制一条路线动画的截图:

程序中通过向量的计算方式来不断获取 C 点的坐标,当然也可以用其它方式来计算 C 点的坐标。

2. 水波以及扫描动画代码分析

水波以及扫描动画都是通过 HT 提供的修改图标矩形框信息 api 来进行控制,通过调度的方式不断修改图标矩形框大小来产生水波以及扫描的动画效果,调度的具体用法可以参考 HT for Web 的[调度手册],以下为水波动画的关键伪代码:

// waterWaveNodes 所有水波节点

下图为水波在 2d 中的截图:

3. 数字变化动画代码分析

从程序的截图中可以看到在 2d 面板以及 3d 场景中都有数字在动态的变化,这部分主要通过数据绑定动态来修改数值的大小,关于数据绑定可以参考 HT for Web 的[数据绑定手册],也是通过调度来不断修改数值的大小,程序中我封装了产生随机数的代码,用于每次产生随机数之后绑定到对应的节点上,以下为修改 2d 面板上数字的变化伪代码:

// numNode(1-7) 为 2d 面板中对应数字的节点

通过以上代码可以知道修改数值是通过修改节点的 attr 以及 style 对象的某个属性值来动态变化数值,当然在程序中 2d 面板可能还会隐藏,此时该调度任务就不需要执行,可以调用 removeScheduleTask 方法来移除此调度任务。

4. 柱状图高度动画代码分析

在 3d 场景中柱状体也是一个六面体,只是四周用了渐变的贴图,以及顶面用了一张纯色的贴图构造出来,每个六面体都有高度的信息,HT 中通过 node.getTall() 来获取当前六面体的高度值,根据上一节讲的数据绑定,我们可以在展示柱状图的时候循环获取所有柱状体节点的高度值大小假如命名为 tall,之后通过 node.a('tall', tall) 将该值存储到当前柱状图节点的 attr 对象上面,之后在柱状体初始化的时候可以不断修改高度值来动态改变高度,当高度值大于 node.a('tall') 则说明当前柱状体初始化的高度已经完成。以下为相关的伪代码:

charts

通过上面代码可以知道动画每一步的程序执行也是通过调度来完成的,与前文几个动画的实现方式类似。

5. 3d 镜头推进代码分析

3d 场景中视野的推进后退都是通过 HT api 提供的修改 eye 以及 center 的数值方法来实现,通过不断调用 setEye 以及 setCenter 方法来达到修改视角的目的,eye 类比人眼睛所处的位置,center 类比人眼睛聚焦的位置,以下为实现镜头推进关键的伪代码:

let 

通过以上代码可以知道通过修改 eye 与 center 分别对应的 xyz 轴的值与当前 e 与 c 分别对应的 xyz 轴的值之间的距离来达到视角的变化。

以下为该代码的一个应用截图:

总结

物联网 通过各种信息传感设备,实时采集任何需要监控、连接、互动的物体或过程等各种需要的信息,与互联网结合形成的一个巨大网络。实现了物与物、物与人,所有的物品与网络的连接,方便识别、管理和控制。所以物联网带给我们的 智慧楼宇的可视化监控 需要监控的方面可能还有很多,该系统中针对人员出入,设备信息,管道信息等的监控实现了一个简单的智慧楼宇监控系统,物联网也将用户端延伸和扩展到了任何物品与物品之间,让我们更加了解搭建智慧园区,智慧校园等场景监控之后设备可视化,资产可视化带给我们的直观性。场景中的反光与景深等效果都是 HT 核心包提供的效果,所有的模型搭建与动画也都是通过 HT 核心包提供的 api 进行建模与动画驱动,所以在网页中展示会十分流畅,大大提高了用户的体验,并且在移动端表现也十分友好。

以下为移动端的程序运行截图:

HT 通过在行业上不断地摸索和技术上的钻研提升,总结出了许多工业互联网上各个行业的解决方案,不仅可以在 PC 端展示出可视化监控系统,在移动端同样可以轻量型地展示出来。以下是另外一个智慧楼宇的可视化监控系统的实现效果:

同样的,2019 我们也更新了数百个工业互联网 2D/3D 可视化案例集,在这里你能发现许多新奇的实例,也能发掘出不一样的工业互联网:https://mp.weixin.qq.com/s/ZbhB6LO2kBRPrRIfHlKGQA

同时,你也可以查看更多案例及效果:https://www.hightopo.com/demos/index.html

c++可视化界面_新基建的福音:智慧楼宇可视化监控系统引领智能化新时代相关推荐

  1. 新基建的福音:智慧楼宇可视化监控系统引领智能化新时代

    前言 智慧楼宇和人们的生活息息相关,楼宇智能化程度的提高,会极大程度的改善人们的生活品质,在当前 工业互联网 大背景下受到很大关注.目前 智慧楼宇可视化监控 的主要优点包括: 智慧化 – 智慧楼宇是一 ...

  2. Batbot智慧电力云平台:新基建迎来加速发展,电力运维走向智能化*

    进入二十一世纪的第二十个年头,5G冲击着各行各业,随着5G与物联网到来,大数据成为了新基建的核心生产因素,这也势必会影响电力网企业的发展.在电力运维的过程中,设备软硬件的存储.数据分析.安全隐患监测等 ...

  3. 【观察】新基建下的智慧城市新样板,智慧滨海背后的三重新价值

    申耀的科技观察 读懂科技,赢取未来! 疫情依然存在,但第四届世界智能大会依然在近期如约而至,区别在于此次是云端办会.从云开幕式.云论坛到云赛事.云智能科技展.到云科技展,已经成功举办过三届世界智能大会 ...

  4. modbus tcp怎么设计通讯状态是否正常_安科瑞 张奇峰杭后旗医院消防设备电源监控系统 的设计与应用...

    安科瑞电气是一家为环保评估.环保检测.环保设备分表计量.环保设备用电监测等项目服务的企业. 摘要:本文简述了消防设备电源的组成原理,分析了消防设备电源监控系统在应用中的设计依据和相关规范.通过安科瑞消 ...

  5. html楼层效果,基于 HTML5 WebGL 的智慧楼宇可视化系统

    前言 可视化的智慧楼宇在 21 世纪是有急迫需求的,中国被世界称为"基建狂魔",全球高层建筑数量位居首位,所以对于楼宇的监控是必不可少.智慧楼宇可视化系统更多突出的是管理方面的功能 ...

  6. 3D可视化智慧园区建模监控系统,数字化解决方案

    随着产业的不断升级发展,传统园区已不能满足市场需求.基于数字孪生的智慧园区采用5G互联网.物联网.云计算.视频融合等技术,整合了园区的整体逻辑架构和统一平台管理,实现了高效的园区运营管理. 3D可视化 ...

  7. 智慧楼宇可视化3D数字孪生系统

    智慧楼宇作为工厂建筑设施的基础集体,为人们提供着重要的空间,是人们生活居住的主要场所之一.智慧楼宇的建设当中,数字化和可视化成为智慧楼宇必不可少的重要组成部分.商迪3D运用物联网.3D可视化和3D建模 ...

  8. 基建管控系统_催生智慧园区三维管控系统解决方案,新基建背景下构建可视化监控平台...

    系统概述 "智慧园区管控系统"基于物联网生态体系操控平台架构,利用新一代信息与通信技术来感知.监测.分析.控制.整合园区各个关键环节的资源,集成了光伏.变电站.停车场等管控场景界面 ...

  9. 如何编写数据库可视化界面_编写用于数据可视化的替代文本

    如何编写数据库可视化界面 什么是替代文字 (What is Alt Text) Alt text (sometimes called Alt tags or alternative text) are ...

最新文章

  1. aes加密内容不定长_浅谈加密技术
  2. 借助腾讯云CDN开启全站https及问题解决分享
  3. python 自动化-python自动化之(自动化测试报告)
  4. python脚本实例手机端-用Python实现自动化操作Android手机
  5. 基于RESTful标准的Web Api
  6. 理解K8S的编排和网络
  7. Python--Json数据简单解析(11.18)
  8. OsharpNS轻量级.net core快速开发框架简明入门教程-基于Osharp实现自己的业务功能...
  9. maven依赖冲突解决_Maven依赖树–解决冲突
  10. [osx] android studio下修改avd的hosts文件
  11. CKEditor、UEditor富文本编辑器原理(CSDN编辑器原理)
  12. java环境配置 jcreator
  13. Android架构纵横谈之——软件自愈能力(转载)
  14. 一二线城市知名 IT 互联网公司名单!
  15. 高性能mysql学习笔记一
  16. c语言求函数的极限例题,第二讲--函数的极限典型例题.doc
  17. 【One Page】概率论复习|Probability Theory Review
  18. OSU双足步行机器人 Cassie利用强化学习站立的源码实现
  19. 零基础自学STM32-野火——GPIO复习篇——使用绝对地址操作GPIO
  20. 微信小程序 获取组件数据

热门文章

  1. 使用序列化查找对象中的脏字段
  2. Java 8最新消息
  3. OutOfMemoryError:无法创建新的本机线程–问题神秘化
  4. 对JavaFX Mobile应用程序进行性能分析
  5. 十大最受欢迎的新Eclipse插件
  6. Java是否越来越接受静态导入?
  7. Java中的数据库架构导航
  8. Bootstrap的学习
  9. 生成验证码图片的Java代码
  10. HH SaaS电商系统的库存调整单设计