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/10/10 10:51:01 阅读更多 →
昆明 AI 营销数字化服务体系,如何解决数字化转型各类难题?

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

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

2026/10/10 10:50:58 阅读更多 →
新手挖漏洞用什么工具,AWVS 和 BurpSuite 怎么选

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

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

2026/10/7 5:33:23 阅读更多 →

最新新闻

GraphQL.NET 分析器发布清单全解读:GQL001–GQL020 规则演进、配置与源码实现

GraphQL.NET 分析器发布清单全解读:GQL001–GQL020 规则演进、配置与源码实现

后端 【免费下载链接】graphql-dotnet GraphQL for .NET 项目地址: https://gitcode.com/gh_mirrors/gr/graphql-dotnet 点击查看 免费下载 GraphQL.NET(graphql-dotnet)从 7.7 版本起内置了一组基于 Roslyn 的 C# 源码分析器(An…

2026/10/10 11:28:38 阅读更多 →
AnyPS5:旧硬件改造自托管服务器实战指南

AnyPS5:旧硬件改造自托管服务器实战指南

1. 项目缘起与核心定位AnyPS5 这个名字第一次出现在我视野里的时候,我正蹲在一堆旧硬件中间翻找能用的零件。当时手头有一台闲置的迷你主机,性能不算强,但胜在功耗低、体积小,一直想给它找个合适的用途。看到 AnyPS5 这个标题&…

2026/10/10 11:28:38 阅读更多 →
从macOS迁移到Linux:备份失效、UI变动与系统切换的完整记录

从macOS迁移到Linux:备份失效、UI变动与系统切换的完整记录

用了多年的 macOS,我一直以为自己是最省心的那类用户:系统流畅、软件生态稳定、备份有 Time Machine 兜底,几乎没想过有一天会认真考虑换系统。但过去一年里,先是备份盘莫名其妙地停止更新,再是系统设置里的入口一次又…

2026/10/10 11:28:38 阅读更多 →
WGAN-GP 实战:256×256 动漫头像生成与训练避坑指南

WGAN-GP 实战:256×256 动漫头像生成与训练避坑指南

简介:本资源为基于WGAN-GP算法的256256像素动漫头像生成系统源码,面向深度学习入门者、GAN算法研究者及动漫头像生成爱好者,帮助解决传统GAN训练不稳定、模式崩塌导致生成图像多样性不足的问题。压缩包共26个文件,约1.32MB&#x…

2026/10/10 11:28:38 阅读更多 →
Python疫情数据分析与可视化:从数据清洗到报告打包的完整流程

Python疫情数据分析与可视化:从数据清洗到报告打包的完整流程

简介:一份面向新冠肺炎疫情数据分析与可视化的Python完整课设项目,适合计算机、电子信息工程、数学等专业学生用于课程设计、期末大作业或毕业设计参考。项目经导师指导并获98分,涵盖从数据采集、舆情爬取、时序预测到可视化展示的完整流程&a…

2026/10/10 11:28:38 阅读更多 →
收不到更新弹窗不是 Bug:UpdateReadiness 把通知“吞“了的真相

收不到更新弹窗不是 Bug:UpdateReadiness 把通知“吞“了的真相

收不到更新弹窗不是 Bug:UpdateReadiness 把通知"吞"了的真相 【免费下载链接】tinycast Tinycast — a tiny, fully native macOS launcher, hotkeys, and clipboard history. 项目地址: https://gitcode.com/GitHub_Trending/ti/tinycast 在 mac…

2026/10/10 11:27:37 阅读更多 →

日新闻

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

1. 从“卫星轨道分类”这个标题说起:为什么值得花时间搞懂第一次接触“卫星轨道分类”这个概念,很多人会觉得它离自己很远——不就是天上的星星怎么转吗?但如果你正在做航天任务规划、遥感数据接收、星座设计,甚至只是准备一场航天…

2026/10/10 0:00:39 阅读更多 →
Spring AOP 核心原理与实战:从概念到日志切面落地

Spring AOP 核心原理与实战:从概念到日志切面落地

1. 从一个真实痛点说起:为什么你的代码里到处都是重复逻辑刚入行那会儿,我写过一个用户管理模块,注册、登录、改密码、注销四个接口。每个接口里都塞了几乎一样的日志打印、参数校验、事务开启和提交。当时觉得没什么,能跑就行。直…

2026/10/10 0:00:40 阅读更多 →
Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

简介:这是一套面向计算机相关专业学生与项目实战学习者的Python数据采集与分析可视化完整项目,以Boss直聘岗位数据为对象,适合用作毕业设计、课程设计或期末大作业。资源包共38个文件,约246KB,以13个py源码文件为核心&…

2026/10/10 0:00:40 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 11:14:25 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 1:36:08 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 11:14:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →