Three.js 3D 热力云图效果实现
一、效果展示及原理概述1.1 核心思想3D 热力云图的核心思路是将 2D 热力图数据转化为 3D 立体效果。整体流程分为三个阶段:原始数据 → 2D 热力图(heatmap.js) → 纹理贴图 → 3D 几何体顶点位移(Three.js Shader)1.2 技术架构技术作用heatmap.js生成 2D 热力图画布(颜色映射热度值)Three.js Texture将热力图画布作为纹理注入 GPUPlaneBufferGeometry高分辨率平面(1000×1000 分段),提供密集顶点供位移ShaderMaterial自定义着色器,读取纹理像素值驱动顶点 Y 方向位移1.3 3D 云图效果的关键高度图(HeightMap):在顶点着色器中采样热力图纹理的红色通道(R)作为高度值,乘以heightRatio控制位移幅度密集网格:PlaneBufferGeometry(290, 80, 1000, 1000)提供 100 万个顶点,实现平滑的地形起伏透明云感:片元着色器中根据高度偏差计算透明度,高度越高偏差越大,透明度越高,形成云雾消散的视觉效果二、完整 HTML 实现2.1 完整代码!DOCTYPEhtmlhtmllang="en"headmetacharset="UTF-8"metaname="viewport"content="width=device-width, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"title3D 热力云图教程/titlestyletype="text/css"body{width:100%;height:100%;margin:0;padding:0;overflow:hidden;}.btn{position:absolute;top:20px;left:100px;z-index:100;}/style!-- 顶点着色器:根据高度图位移顶点 --scriptid="vertexShader"type="x-shader/x-vertex"uniform sampler2D heightMap;uniform float heightRatio;varying vec2 vUv;varying float hValue;varying vec3 cl;voidmain(){vUv=uv;vec3 pos=position;// 采样热力图颜色(用于片元着色器显示)cl=texture2D(heightMap,vUv).rgb;// 采样热力图红色通道作为高度值hValue=texture2D(heightMap,vUv).r;// 根据高度值位移顶点 Y 坐标pos.y=hValue*heightRatio;gl_Position=projectionMatrix*modelViewMatrix*vec4(pos,1.0);}/script!-- 片元着色器:根据高度偏差计算透明度 --scriptid="fragmentShader"type="x-shader/x-fragment"varying float hValue;varying vec3 cl;voidmain(){// 计算与最大高度(1.0)的偏差float v=abs(hValue-1.0);// 透明度随偏差增大而降低,形成云雾消散效果gl_FragColor=vec4(cl,0.8-v*v);}/script/headbodydivid="heatmap"/divdivid="heatmap-canvas"style="display:none;"/divdivclass="btn"buttononclick="toggleHeatMap()"

相关新闻

2026游戏连点器工具评测排行榜:4类手机与电脑自动点击工具怎么选?

2026游戏连点器工具评测排行榜:4类手机与电脑自动点击工具怎么选?

不少玩家搜索“2026游戏连点器工具评测排行榜”,并不是单纯想找点击速度最快的软件,而是想解决重复领取、固定点位操作、多步骤循环等问题。不同工具支持的平台、配置难度和自动化能力差异较大,选错之后反而要花更多时间调试。先说结论&#…

2026/8/6 7:50:37 阅读更多 →
昆明 AI 营销数字化服务体系,如何解决数字化转型各类难题?

昆明 AI 营销数字化服务体系,如何解决数字化转型各类难题?

当下昆明众多实体企业推进数字化营销转型时,普遍面临诸多痛点:营销工具零散割裂、企业数据形成孤岛、人力运营成本居高不下、业绩增长不稳定、数字化方案落地难、内部部门协同效率低等问题。传统营销模式效率低下、获客精准度不足,已经无法适…

2026/8/6 7:49:37 阅读更多 →
新手挖漏洞用什么工具,AWVS 和 BurpSuite 怎么选

新手挖漏洞用什么工具,AWVS 和 BurpSuite 怎么选

新手入局:从自动化扫描到手工渗透的工具进阶路很多刚接触网络安全的朋友,手里攥着计算机基础和编程知识,却常常在“第一把武器”的选择上犯难。看着网上各种大神晒出的高额 SRC 漏洞奖励,自己也跃跃欲试,但面对琳琅满目…

2026/8/6 7:49:37 阅读更多 →

最新新闻

三极管工作原理与电路设计:从拟人化比喻到工程实践

三极管工作原理与电路设计:从拟人化比喻到工程实践

这次我们来看一个非常有意思的技术话题:从“雌小鬼”这个网络热梗出发,聊聊三极管这个电子学基础元件。乍一看,标题“真的没有人觉得三极管很像雌小鬼吗?”像是一个无厘头的网络段子,但它背后其实隐藏着一种非常有效的…

2026/8/6 8:43:08 阅读更多 →
Moltbot本地AI助手部署指南:从环境配置到实战应用

Moltbot本地AI助手部署指南:从环境配置到实战应用

1. 项目缘起:为什么我们需要一个本地化的AI助手? 最近几个月,AI聊天机器人的热度有增无减。无论是处理日常文档、辅助编程,还是进行头脑风暴,一个得力的AI助手确实能极大提升效率。然而,依赖云端服务总有一…

2026/8/6 8:43:08 阅读更多 →
基于STM32与PID的直流有刷电机闭环速度控制实战指南

基于STM32与PID的直流有刷电机闭环速度控制实战指南

1. 项目概述:从零开始搞定直流有刷电机驱动 最近在做一个需要精确控制电机转速的小项目,核心就是驱动一个24V的直流有刷电机。这听起来像是电子爱好者的入门课,但真要把速度控得稳、响应快,里面门道可不少。我选择了经典的STM32F1…

2026/8/6 8:43:08 阅读更多 →
算法练习7

算法练习7

1. 字母异位词分组题目要求将互为字母异位词的字符串放入同一组。例如:["eat", "tea", "tan", "ate", "nat", "bat"]可以分为:[["eat", "tea", "ate"], [&q…

2026/8/6 8:43:08 阅读更多 →
跨境业务踩坑记:那些年被文档翻译耽误的生意

跨境业务踩坑记:那些年被文档翻译耽误的生意

去年初,一个做外贸的朋友接到一笔潜在订单。海外客户发来了一份50页的RFQ询价文件——英文和法语掺杂,涉及产品规格、交付条款、付款条件等等。朋友团队花了两天翻译和理解这份文件。等他们把报价和方案做出来回复的时候,客户说已经签了别家。…

2026/8/6 8:43:08 阅读更多 →
实训交通沙盘的基本参数

实训交通沙盘的基本参数

基本要求笔下科技的该V2X车路协同模拟无人驾驶沙盘实训平台主要包括:展台、钢化围挡、沙盘模型、景观灯光、建筑灯光、交通信号灯、信号机组件、交通设备标识牌。二、沙盘配置及技术参数沙盘外形尺寸:共计12平方。各模块具有足够的强度和刚度&#xff0c…

2026/8/6 8:42:07 阅读更多 →

日新闻

深入解析LimboAI C++内核:架构设计与性能优化实战

深入解析LimboAI C++内核:架构设计与性能优化实战

1. 项目概述:为什么我们需要深入LimboAI的C内核?如果你是一名使用Godot引擎的游戏开发者,尤其是对AI行为逻辑有较高要求的项目,那么LimboAI这个名字你大概率不会陌生。它作为Godot 4生态中一个备受瞩目的行为树与状态机插件&#…

2026/8/6 0:00:06 阅读更多 →
Unity 2D游戏敌人AI系统:基于PlayMaker状态机与2D Toolkit的实战开发

Unity 2D游戏敌人AI系统:基于PlayMaker状态机与2D Toolkit的实战开发

1. 项目概述与核心思路大家好,我是老张,一个在游戏开发一线摸爬滚打了十多年的老码农。今天咱们接着聊《空洞骑士》风格2D动作游戏的Demo制作。上一期我们搭好了基础框架,处理了角色移动和碰撞,这一期,我们要让游戏世界…

2026/8/6 0:00:06 阅读更多 →
被动防火门市场前景发展趋势

被动防火门市场前景发展趋势

被动防火门依靠材质结构、密闭构造阻隔烟火蔓延,无需电控启动,是建筑被动消防系统核心构件,行业依托新规管控、城市更新、工业安全升级迎来稳定扩容,整体朝着合规化、专项化、低碳化、智能化方向发展。现阶段 GB12955‑2024 新版国…

2026/8/6 0:00:06 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/5 15:00:43 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/5 13:13:56 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/5 10:20:36 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/5 23:28:39 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/5 21:00:14 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/5 23:46:51 阅读更多 →