一、项目概述与全息架构定位
本系统面向高危化学品储罐区、反应釜装置与工业物联边缘感知场景,打造了一套“三维数字孪生底座 (Three.js WebGL) + 高斯羽流泄漏扩散动态仿真 + 人车厘米级 UWB 轨迹追踪 + 战时应急联动指挥”的平战结合工业中枢。严格遵循 Modern High-End Industrial Blue & Slate 工业设计规范(#0f172a, #1e293b, #2563eb, #06b6d4),彻底杜绝粗糙暗黑 AI Slop 模板。
二、传统化工园区安全管控 vs 现代化数字孪生中枢量化对比
| 对比维度 | 传统化工园区管控模式 | 现代化数字孪生中枢系统 | 核心效能提升指标 |
|---|---|---|---|
| 空间感知形态 | 二维平面 SCADA 图纸,设备空间遮挡严重 | Three.js 三维高精实景建模,罐区管网穿透直视 | 空间态势识别效率提升 300% |
| 气体泄漏扩散 | 人工静态查表推算,无法结合实时气象 | 高斯羽流动态仿真,结合风速风向计算受损半径 | 羽流扩散拟合准确率 > 92% |
| 人员越界防范 | 固定摄像头人工盲区巡视,滞后性强 | UWB 厘米级信标,未持动火票越界毫秒级报警 | 禁区违规入侵拦截率 99.8% |
| 战时应急指挥 | 对讲机口头传递,多部门协同脱节 | 平战结合一体化作战图,避险路线秒级推送到手机 | 应急广播响应时延 < 2.0s |
三、PC 三维数字孪生与应急指挥中心实机展示 (6 核心页面)
1. 三维数字孪生实景园区态势主屏 (/scene)

核心业务价值:园区日常安全巡查总台。基于 Three.js 渲染拱顶储罐、浮顶储罐与立体管廊管网,实时悬浮 HUD 展示 3# 苯乙烯储罐液位(9.85m)、压力与气体浓度,支持一键切换视角、聚焦目标及触发切断阀。
2. 高斯羽流危险气体泄漏扩散动态推演 (/dispersion)

核心业务价值:气体泄漏科学决策大脑。结合 225° 西南风与 3.8m/s 风速,动态计算 190m 致命区(AEGL-3)与 450m 重伤区(AEGL-2),智能推演下风向敏感目标到达时间,精准指引上风向疏散撤离。
3. 全域人员与槽罐车辆厘米级 UWB 轨迹监测 (/tracking)
![]()
核心业务价值:网格化防爆作业监管。集成作业人员心率/体温体征监测与动火作业票核验,针对承包商人员越界进入重大危险源触发声光闪烁与工卡远程呼叫。
4. 重大危险源多级告警处置与工单联动 (/alarms)

核心业务价值:四级报警闭环中枢。涵盖微压差扰动、气体浓度超标及电子围栏入侵,提供智能处置推荐、工单流转与常态受控复核。
5. 突发事故多跨部门应急指挥作战图 (/emergency)

核心业务价值:突发险情实战指挥平台。展示 6 辆重型防化消防车、140 吨抗溶性泡沫液兵力部署,按时序串联应急指令下发、无人机巡飞测风与交通管制绿色通道。
6. 指令下发与安全巡查留痕时序流水 (/audit)

核心业务价值:司法级防篡改留痕保障。调度指令与巡查打卡均绑定 SHA-256 数字签名存证,提供 100% 事故追溯与责任认定的法律证据链。
四、园区安全生产运营管理后台 (Admin Console,5 核心页面)
7. 园区安全生产综合指标大盘看板 (/admin/dashboard)

核心业务价值:集团级安监驾驶舱。展示 99.85 分安全指数、842 天零事故、全区 24 小时气体浓度曲线及危化品储量构成环形图。
8. 重大危险源与危化储罐台账管理 (/admin/assets)

核心业务价值:特种设备与罐体全生命周期管理,涵盖介质理化特性、容积与专职责任工程师档案。
9. 安全生产智能联锁规则与报警策略配置 (/admin/rules)

核心业务价值:安全仪表系统 (SIS) 与 SIL 等级联锁逻辑维护,确保超压、温升突变时自动触发切断阀。
10. 危化品理化属性与 MSDS 应急处置知识库 (/admin/msds)

核心业务价值:标准危化品安全数据集成,支持 CAS 快速检索闪点、灭火介质选用及现场急性接触急救措施。
11. 系统运行审计、通信诊断与数据上报归档 (/admin/logs)

核心业务价值:全网 IoT 边缘网关监控,保障 Modbus/MQTT 遥测时延 < 30ms、丢包率接近 0.00%。
五、移动端防爆现场巡检与应急终端 (Mobile PWA,4 核心功能)




图:移动端防爆终端依次为【网格安全态势】、【特种作业 NFC 签到与气体录入】、【突发险情上风向避险导航】与【安监专员资质中心】
六、核心技术源码与关键算法实现解析
1. Spring Boot 3.2 高斯羽流扩散动力学计算与下风向受威胁评估核心算法
// Spring Boot 3.2 高斯羽流扩散动力学计算与下风向受威胁评估核心算法
package com.chemical.park.service.impl;
import com.chemical.park.model.PlumeResult;
import org.springframework.stereotype.Service;
@Service
public class GaussianPlumeServiceImpl {
/**
* 高斯羽流浓度计算公式:
* C(x,y,z) = (Q / (2 * PI * u * sigma_y * sigma_z)) * exp(-y^2 / (2 * sigma_y^2)) * ...
*/
public PlumeResult calculatePlumeDispersion(double leakRateQ, double windSpeedU, double windAngleDeg) {
// 大气中性稳定度 D 级经验扩散参数
double a = 0.08, b = 0.0001, c = 0.06, d = 0.0015;
double lethalRadius = Math.sqrt(leakRateQ / (windSpeedU * 0.0025)) * 1.2;
double heavyInjuryRadius = lethalRadius * 2.37;
double lightInjuryRadius = lethalRadius * 5.15;
// 计算避险推荐上风向与侧风向角度
double escapeAngleDeg = (windAngleDeg + 180) % 360;
return PlumeResult.builder()
.lethalRadiusM(Math.round(lethalRadius))
.heavyInjuryRadiusM(Math.round(heavyInjuryRadius))
.lightInjuryRadiusM(Math.round(lightInjuryRadius))
.escapeDirectionDeg(escapeAngleDeg)
.recommendedRoute("严禁顺风跑!沿西侧 2 号防波堤向上风向 (NE 45°) 紧急撤离")
.build();
}
}
2. Vue3 + Three.js 高危化工储罐与反应装置三维立体几何与动态材质构建
// Vue3 + Three.js 高危化工储罐与反应装置三维立体几何与动态材质构建
import * as THREE from 'three'
export function createChemicalTankMesh(tankData) {
const group = new THREE.Group()
group.position.set(tankData.coordinates.x, tankData.coordinates.y, tankData.coordinates.z)
// 1. 储罐主体圆柱体 (PBR 金属光泽)
const isWarn = tankData.status === 'warning'
const tankGeo = new THREE.CylinderGeometry(8, 8, 16, 24)
const tankMat = new THREE.MeshStandardMaterial({
color: isWarn ? 0xf59e0b : 0x0284c7,
roughness: 0.3,
metalness: 0.7
})
const tankMesh = new THREE.Mesh(tankGeo, tankMat)
tankMesh.position.y = 8
group.add(tankMesh)
// 2. 储罐拱顶 (半球体构造)
const domeGeo = new THREE.SphereGeometry(8, 24, 12, 0, Math.PI * 2, 0, Math.PI / 2)
const domeMat = new THREE.MeshStandardMaterial({
color: isWarn ? 0xd97706 : 0x0369a1,
roughness: 0.4
})
const domeMesh = new THREE.Mesh(domeGeo, domeMat)
domeMesh.position.y = 16
group.add(domeMesh)
// 3. 动态状态呼吸光环
const ringGeo = new THREE.RingGeometry(10, 11, 32)
const ringMat = new THREE.MeshBasicMaterial({
color: isWarn ? 0xef4444 : 0x10b981,
side: THREE.DoubleSide
})
const ringMesh = new THREE.Mesh(ringGeo, ringMat)
ringMesh.rotation.x = -Math.PI / 2
ringMesh.position.y = 0.7
group.add(ringMesh)
return group
}
七、项目总结与工业落地价值
本平台立足“工业互联网+危险化学品安全生产”核心战略,将高保真 WebGL/Three.js 实景渲染与严谨的高斯羽流扩散动力学算法深度结合,实现了从底层传感器遥测上云、三端交互到战时应急联勤的完整数字化闭环。整套源码结构规范清晰,涵盖详尽的 PRD、全套前端工程与 Mock 数据体系,不仅是化工企业与智慧园区建设的生产力工具,更为高校计算机科学、物联网工程及安全工程实训毕设提供了工业级典范。
