图扑 Web 可视化引擎在仿真分析领域的应用
前言
在数字孪生和仿真研究过程中,会产生大量和三维空间相关的数值信息,比如设备外观的扫描数据、地形扫描数据、生产设备温度场/压力场、流体的速度场、流体扩散,以及各种仿真数据:速度,压力,应力,温度等。
这些数据的特点是数量大,使用二维图表呈现不直观,无法直观呈现数据的三维分布和数据随时间的变化。


图扑软件是基于 WebGL 的三维可视化引擎,在 WebGL 基础上封装了基本的三维模型创建、呈现的 API。同时还封装了丰富的数学运算库,涵盖多维变换,几何计算等。
图扑 SDK 开放灵活的架构也使得用户开发扩展功能非常方便,比如热力图(体)插件,流场粒子展示插件,体绘制插件等。强大灵活的 3D 引擎可以让用户轻松实现三维模型的呈现编辑功能。用户无需关心繁琐复杂的 WebGL 操作,可以将精力放到应用的业务层,节省开发费用,加快开发进程,通过三维动态直观展示方式,挖掘隐藏的信息内容,提升应用价值。
本文针对以下 6 种呈现方式讨论使用图扑 SDK 实现的方法:
- 模型表面贴图
- 模型三维网格
- 粒子流贴图
- 粒子流体
- 体绘制
- 点云
以下介绍的方法中,为了提高前端的性能和用户体验,涉及到大量数据处理的操作都可以放到服务器上实现。前端只负责少量运算和效果展示。
下图是实现整个系统的架构:
模型表面贴图
对于需要展示表面数据的应用,比如设备表面的温度,压力等,输入数据是模型表面的点坐标和数据值的集合,比如 x, y, z, value。实现的方法:根据模型上每一个点 value 值计算出此点贴图的 UV 值。
实现原理图如下:

有以下两种情况需要用插值算法重新生成数据:
- 模型表面贴图
- 模型三维网格
下图是实现的原理。主要增加了使用反距离加权法重新生成数据。由于这一步计算量大,需要放到服务器上,作为数据预处理功能实现。

模型三维网格
三维网格展示在一个二维面上的属性在上一节 “模型表面贴图” 已介绍过。这里主要介绍三维网格展示三维信息,比如三维速度场,三维温度场等。
由于是一个三维的体,无法用贴图的方式给出网格的颜色信息。此时需要用插值算法计算出规则空间网格的场信息。比如在 x,y, z 整数值的点插值采样。将采样获得的空间场信息以材质的方式传给图扑 SDK。SDK 在渲染每一个点的时候,根据点周围的空间 4 个点做插值拟合获得属性值,并根据属性值范围计算出渲染的颜色。具体流程参照下图:


上方为基于钻孔数据的三维地质模型可视化(点击文字跳转查看智慧煤矿往期回顾),智慧矿山是一个汇聚了多学科、多主题、多维空间信息的复杂系统,是在矿山地表和地下开采矿产资源的工程活动中所涉及的各种静、动态信息的全部数字化管理,智能分析,可视化展示,从而达到降本增效,实现企业利益的最大化。
粒子流贴图
对于需要在一个面上展示的流体场,比如风场,水流场,压力场等,需要以动态的方式呈现,可以使用图扑粒子插件实现。
系统基本原理如下图:二维流体场信息作为贴图资源传给图扑 SDK。SDK 里使用贴图保存粒子的位置信息,利用流体场和粒子位置,计算出下一帧的粒子位置。然后融合上一帧的输出和当前输出,实现粒子的移动尾迹效果。
图扑粒子插件可以实现以下参数可调节:
- 粒子的大小
- 粒子的形状
- 粒子的流速
- 粒子数量
- 显示的阈值
- 仿真精度等
粒子流体
对于需要展示三维空间的矢量场,比如风场,速度场等,需要以动态的方式呈现。可以使用图扑粒子插件实现。插件的主要输入数据是三维矢量场。它是在服务器端通过对矢量场按照固定间隔采样拟合获得。
图扑三维粒子插件可以实现和二维粒子流相似的参数调节:
- 粒子的大小
- 粒子的形状
- 粒子的流速
- 粒子数量
- 显示的阈值等
体绘制
体绘制是一种将三维空间中的体数据,渲染到二维图形上的技术。体绘制可以在二维平面上展示出三维空间中的数据,可直观窥探物体内部细节,因此可应用于各种电、热、磁场的仿真,水污染扩散仿真、海洋遥感三维可视化、医学影像(CT) 展示等。
电力行业中,变压器是一种重要的设备,变压器绕组的温度分布,特别是热点温度,是制约变压器运行安全和使用寿命的重要因素。本案例中通过体绘制的方式展示变压器绕组温度场。首先通过有限元仿真,对变压器内部的热传导过程模拟,最终得到变压器内部的温度分布规律。将有限元仿真出的温度数据,通过插值的方法获得整个绕组的温度切片。这里有多种插值算法,如反距离加权法、克里金法、自然邻域法、样条函数法等。这里采用反距离加权算法。

种体绘制的算法有多种:光线投射算法、抛雪球算法、错切变形算法。三种算法相比较,光线投射算法计算量相对较大,但是绘制的图像质量较高,有利于保留图像细节,这里我们选用光线投射算法。为了保证渲染速度,我们要对光线投射算法进行了优化,减少不必要计算量。通过优化,可以做到在有非集成显卡的普通 PC 机上,轻松实时渲染数百万以上点的有限元分析结果。
此外,可以对渲染结果进行裁切,展示绕组任何切面的温度分布情况。
以下案例是体绘制在 CT 可视化领域的应用:

点云
图扑引擎内置对点云的支持。支持的点数量可达千万。点云里每个点的贴图/形状可配置。
点云可以用于展示模型本身或者模型表面的属性信息,比如压力和温度等。
对于激光点云数据,通常一个点的信息包含三维坐标和颜色值,比如 x,y,z,r,g,b 六个字段。将三维坐标和颜色信息传给图扑点云可以直接展示模型。对于大场景或高精度的点云模型,由于点数据量巨大,无法全部显示。可以采用空间划分和 LOD 技术,生成不同分辨率的点云模型,按需加载。需要展示局部高精度模型时,只加载局部高精度模型信息。

对于需要展示变化过程需求,图扑引擎支持定制插件(shader),通过将多个时间点的颜色信息传给 shader,shader 根据时间进度信息插值计算出某一时间t的颜色,进行渲染。JavaScript 主程序循环更新运行时间t。这样的优点是主要的计算量放到显卡,仿真进度(时间)可以灵活调节,整个展示过程流畅不卡顿。流程参照下图:
更多应用场景
仿真分析技术的应用范围涵盖社会的诸多方面,本文我们也对图扑可视化引擎在数值仿真分析领域的应用做了一些介绍。
仿真分析的意义和作用在于当所研究的系统造价昂贵、实验的危险性大或需要很长的时间才能了解系统参数变化所引起的后果时,仿真是一种特别有效的研究手段。
结合图扑软件 Web 可视化引擎为工程仿真、气象预报、生命科学、科研教育、电力系统、交通运输、工业制造等不同领域的发展起到了推动作用,为不同的行业发展注入了新的动力。
图扑软件强大灵活的前端可视化引擎自主研发设计,未使用第三方开源库实现。友好的 API 和灵活的可扩展性,使得图扑引擎开发的产品具备高性能,高可扩展性,用户可以灵活轻松的实现各种展示效果。
图扑软件已广泛应用于智慧城市、园区、楼宇、工厂、智能制造、水务、能源、光伏、风电、电力、新基建、运维、政务、交通、医疗、金融、科研等行业。累计为包括三一、宝信、南瑞、华为、腾讯、西门子、施耐德、霍尼韦尔等众多国内外企业提供专业的数字化服务,为企业提供设备的实时监测、运营维护和安全预警、仿真分析等相关需求。
更多行业应用实例可以参考图扑软件官网案例链接:图扑软件 - 构建先进 2D 和 3D 可视化所需要的一切
图扑 Web 可视化引擎在仿真分析领域的应用的更多相关文章
- 图扑软件正式加入腾讯智维生态发展计划,智能 IDC 开启数字经济新征程
4 月 23 日,主题为<智汇科技,维新至善>的腾讯数据中心智维技术研讨会在深圳胜利召开,发布了腾讯智维 2.0 技术体系,深度揭秘了智维 2.0 新产品战略和技术规划.图扑软件(High ...
- 图扑软件 3D 组态编辑器,低代码零代码构建数字孪生工厂
行业背景 随着中国制造 2025 计划的提出,新一轮的工业改革拉开序幕.大数据积累的指数级增长为智能商业爆发奠定了良好的基础,传统制造业高污染.高能耗.低效率的生产模式已不符合现代工业要求. 图扑拖拽 ...
- G2 2.0 更灵活、更强大、更完备的可视化引擎!
概述 G2作为一款技术产品,自诞生以来,服务于广大的Web工程师群体和一部分数据分析师.一直来,G2 因其易用的语法和扎实的可视化理论基础,广受使用者好评.G2 1.x 的可视化能力已经非常强大,使用 ...
- WEB 三维引擎在高精地图数据生产的探索和实践
1. 前言 高精地图(High Definition Map)作为自动驾驶安全性不可或缺的一部分,能有效强化自动驾驶的感知能力和决策能力,提升自动驾驶的等级.对于自动驾驶来说,高精地图主要是给机器用的 ...
- 图数据 3D 可视化在 Explorer 中的应用
本文首发于 NebulaGraph 公众号 前言图数据可视化是现代 Web 可视化技术中比较常见的一种展示方式,NebulaGraph Explorer 作为基于 NebulaGraph 的可视化产品 ...
- Cayley图数据库的可视化(Visualize)
引入 在文章Cayley图数据库的简介及使用中,我们已经了解了Cayley图数据库的安装.数据导入以及进行查询等. Cayley图数据库是Google开发的开源图数据库,虽然功能还没有Neo4 ...
- docker学习(三) 安装docker的web可视化管理工具
1.docker是一个一款很轻便的应用容器引擎,为了更好的管理和使用docker,使用web可视化管理工具似乎更符合大多数人的需求.在这里,我给大家分享下自己使用过的几款web工具:docker UI ...
- vivo web service:亿万级规模web服务引擎架构
本文首发于 vivo互联网技术 微信公众号 链接:https://mp.weixin.qq.com/s/ovOS0l9U5svlUMfZoYFU9Q vivo web service是开发团队围绕奇点 ...
- docker--docker 的web可视化管理工具
12 docker 的web可视化管理工具 12.1 常用工具介绍 当 Docker 部署规模逐步变大后,可视化监控容器环境的性能和健康状态将会变得越来越 重要. Docker的图形化管理工具,提供状 ...
随机推荐
- 利用expect批量修改Linux服务器密码
一个执着于技术的公众号 背景 修改Linux系统密码,执行passwd即可更改密码.可如果有成千上百台服务器呢,通过ssh的方式逐一进行修改,对我们来说,工作量是非常大,且效率非常低下.因此采用批量修 ...
- nacos 详细介绍(二)
五.nacos的namespace和group namespace:相当于环境,开发环境 测试环境 生产环境 ,每个空间里面的配置是独立的默认的namespace是public, namespace可 ...
- MySQL存储过程入门了解
0.环境说明: mysql版本:5.7 1.使用说明 存储过程是数据库的一个重要的对象,可以封装SQL语句集,可以用来完成一些较复杂的业务逻辑,并且可以入参出参(类似于java中的方法的书写). ...
- mysql Bad handshake
由于 Java 程序访问 MySQL 时,MySQL 抛出 Bad handshake 错误,导致接口抛错,然后在 MySQL 配置文件新增 skip_ssl 配置(忽略 SSL 密钥和证书文件),重 ...
- 【Java8新特性】Lambda表达式
一.Lambda 表达式 是什么? Lambda读音:拉姆达. Lambda是一个匿名函数,匿名函数就是一个没有名字的函数. Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中). ...
- 好客租房55-props深入(2props校验)
对于组件来说 props是外来的 无法保证使用者传入什么格式的数据 传入的数据格式不对 可能会导致组件内部报错 关键问题:不知道报错的具体原因 1安装包props-types 2导入props-typ ...
- 个人冲刺(二)——体温上报app(二阶段)
冲刺任务:完成app首页.第二页面和特殊情况的页面布局 activity_main.xml <?xml version="1.0" encoding="utf-8& ...
- goose消元
ps.改了标题 魔板 思路:按序消除变量,用当前行(i)[行i消\(x_i\)元素],消后面的每一行的i元素 最后按逆序回代值 注意若有i~n行i元素系数都为0说明没有唯一解(其余x的解跟i元素有关) ...
- IDEA初始化基础配置
0.前言 这篇博客是给认识的那帮新手搞的,刚进入IT行业的崽们 这个东西配置好了,也可以选择弄成在线文档,下一次安装IDEA时,有一个import导入配置,然后就可以自己配置好了( 虽然方便,但不建议 ...
- 【摸鱼神器】UI库秒变LowCode工具——列表篇(一)设计与实现
内容摘要: 需求分析 定义 interface 定义 json 文件 定义列表控件的 props 基于 el-table 封装,实现依赖 json 渲染 实现内置功能:选择行(单选.多选),格式化.锁 ...