当前位置: 首页 > news >正文

宇宙学研究新突破:用 Blender 几何节点处理 CMB 数据,实现多项实用功能!

宇宙学与几何节点

2026 年 2 月 17 日,作者 MohammadHossein Jamshidi(伊朗沙希德·贝赫什蒂大学物理学/宇宙学博士生,自 2012 年起也是游戏行业的动画工程师)分享在宇宙学研究中使用 Blender 的想法和技术。其作品可在[我的 GitHub](https://jamshidi3d.github.io/portfolio/) 找到,展示的所有文件能在 [GitHub 仓库](https://github.com/jamshidi3d/CosmicBlenderNodes) 免费获取。

什么是宇宙学,我在做什么?

宇宙学研究巨大尺度(空间和时间)的物理世界,大到可将星系视为点,时间长到一千年只是一个时间帧。作者对宇宙微波背景(CMB)辐射感兴趣,其温度约 2.7 开尔文(约 -270 摄氏度),在天空几乎均匀,但存在微小波动(10⁻⁶ 到 10⁻⁴ 开尔文之间),包含早期宇宙和宇宙历史信息,是能观测到的最远光线。


宇宙微波背景温度图
来源:欧洲航天局和普朗克合作组织

使用几何节点进行宇宙学研究的灵感

最初,作者受 [Seanterelle](https://www.youtube.com/@seanterelle) 在 YouTube 上用几何节点进行精彩模拟的启发,尝试将几何节点用于宇宙学计算。2024 年,在关于 CMB 的项目中,用几何节点作计算、可视化和算法调试工具,制作出可视化 CMB 天空中不同大小帽状和条状区域与银河掩模重叠面积的工具。该项目结果可在 [这篇论文](https://iopscience.iop.org/article/10.3847/1538-4357/ad68ff) 查看,这次可视化成为将几何节点应用于更广泛领域和更多用例的起点。

用于计算的几何节点

几何节点可并行计算网格元素,将网格元素视为“数据存储槽”和“处理线程”,能进行“单指令多数据”(SIMD)计算。虽其他工具(如 CUDA 或计算着色器)可能更快,但几何节点有免费调试器和可视化工具,适合小规模项目,可即时计算和可视化,多数情况能实时得到最终数值结果。


网格元素可视为存储和线程

有时测试计算过程时,需要快速可靠工具检查结果是否符合物理规律,几何节点可在小规模上测试过程/算法的正确性。接下来将看一些在实际宇宙学中利用几何节点进行可视化、调试和计算的例子。

宇宙学与几何节点

使用几何节点处理数据,需一个 3D 网格存储和处理数据,创建合适网格是利用几何节点的第一步。

天空图是如何存储的?

从计算角度,合适的数据存储方式很重要,可减少计算量。宇宙学家和地质学家处理球形地图/数据,采用 [HEALPix](https://healpix.sourceforge.io/)(分层等面积等纬度像素化)球体像素化方法。


一个 HEALPix 球体

这种像素化的像素面积相同,球体可划分为与赤道平行的像素环,像素中心不在极点,适合存储数据,球形数学计算高效。

要制作不同分辨率的 HEALPix 球体,可在 [这里](https://jamshidi3d.github.io/posts/cmb_in_geometry_nodes/) 找到分步教程。


HEALPix 中的等纬度环

虽 HEALPix 像素化有优点,但处理像素定位和排序(编号/索引)有时复杂,接下来看几何节点如何帮助避免地图分析中的繁琐工作。

使用几何节点可视化 CMB 天空

创建具有正确像素排序的 HEALPix 球体后,可用 HEALPix 网格的面属性存储 CMB 数据,用几何节点可视化。可视化 CMB 地图的详细教程可在 [这里](https://jamshidi3d.github.io/posts/cmb_in_geometry_nodes/) 找到,步骤是先将地图数据(如 CMB 温度)注入网格,存储在 HEALPix 球体每个面上,再获取最小和最大温度作为颜色范围。



使用几何节点在 HEALPix 球体上可视化 CMB 地图

投影让生活更轻松

几何节点的数据(属性)投影是强大工具,有很多实际应用,下面举几个例子。

保留像素的地图旋转

处理宇宙学球形数据时,需进行地图变换,保留 HEALPix 像素化有价值。用几何节点中的属性投影工具,旋转包含地图的 HEALPix 网格,将其数据投影到未旋转的 HEALPix 球体上,可实现旋转地图并保留像素化。

在几何节点中实现步骤为:

  1. 创建原始球体的虚拟副本;
  2. 旋转它;
  3. 从球体内向每个像素发射光线,查看光线与哪个像素碰撞;
  4. 将光线投射的属性投影到原始网格上。

按步骤操作,可得到旋转后的地图且像素化不变:


地图旋转的实现保留像素化的地图旋转

多普勒增强的添加/去除

属性投影还可在保留像素化的同时扭曲地图。不同物理过程会导致地图扭曲,如多普勒效应会改变 CMB 地图,产生像差。知道运动速度和方向,可计算传入光线的像差方向,扭曲像素边界(HEALPix 球体的顶点),将扭曲的球体投影到正常的 HEALPix 球体上,得到 CMB 像差地图。

当在天空中移动时,还有多普勒增强效应,会使传入光线波长变化,测量的温度也不同。结合像差和多普勒增强效应,可用几何节点模拟在天空中的运动。

多普勒像差的演示
像差的模拟
完整多普勒效应(像差和频率变化)的模拟

从天空图中捕获图像

在宇宙学项目中,用机器学习研究 CMB 天空图异常点,需天空不同区域的方形图像。用几何节点的属性投影,可轻松准备所需图像,无需过多考虑 HEALPix 混乱的索引。

思路是将方形平面放在想要捕获图像的位置,应用投影得到 CMB 地图的方形图像。


从天空图中捕获图像的视频

可直接存储索引或温度,作者更喜欢像素索引,将平面放在每个区域上,存储下方像素索引,覆盖整个天空,为机器学习程序准备合适数据集。

实时引力透镜!

天空中大质量物体会使光线弯曲,观测星系时,若有大质量物体在视线中,会看到变形图像,光源偏移。若弯曲物体质量不大,是弱透镜效应,在 CMB 中常见。


弱透镜效应的解释。
Prat, J., & Bacon, D. "Weak Gravitational Lensing." arXiv 预印本 arXiv:2501.07938 (2025).

模拟弱透镜效应,需找到透镜作用后光源的偏移位置。在 Blender 中,将网格每个顶点视为点光源,通过偏转角改变其位置:

δθ = 4GM / bc²

(M 是大质量物体的质量,b 是与大质量物体的垂直距离)。下面视频可看到 Suzanne 模型的透镜图像,假设它是受大质量物体影响的光源。

Suzanne 网格上的弱引力透镜效应

实际应用中,将星系图像放在平面上(有足够顶点数),对顶点进行相同操作,可模拟星系图像上的透镜效应,有助于训练机器识别透镜源或对图像进行去透镜处理。

应用于真实星系图像的弱透镜效应
图片来源:欧洲航天局/哈勃和美国国家航空航天局

展开天空球体!(莫尔韦德投影视图)

为在二维平面可视化球形地图,常将天空展平成二维图像,宇宙学家常用莫尔韦德投影。


球体在平面上的莫尔韦德投影

一些软件包可绘制莫尔韦德投影视图,但有局限性。几何节点能实现三维到二维映射,可对绘图进行操作,如实时可视化地图变化或绘制自定义轮廓。

绘制莫尔韦德投影,先切割球体(在一条子午线上切割),使用有特殊拓扑结构的 HEALPix 球体,添加边完成想要切割的子午线上的边环,然后分割,球体可展开。

然后用莫尔韦德方法投影点,需在几何节点中用 for 循环迭代一个坐标。


迭代的实现

分割网格并找到投影位置后,球体就会被映射到莫尔韦德投影上。

在 Blender 中,将莫尔韦德投影与其他部分的像素化保留技术结合,可提供实时的莫尔韦德可视化工具,如下面视频可看到地图旋转与莫尔韦德投影的结合。

莫尔韦德视图中的地图旋转

并行计算像素

可利用几何节点进行并行计算,在球形地图每个像素上计算是重要用例。宇宙学中常用球谐函数描述球形地图/图像,类似于傅里叶级数,存在于球体表面,可分离球形地图大小特征,研究物理起源。

球谐函数用 Yₗₘ(θ,ϕ) 表示,是方向 (θ,ϕ) 的函数,有两个索引 ℓ 和 m。一个方向由 HEALPix 球体上的一个像素(或其网格的一个面)表示。计算球谐函数较棘手,需用递归数学关系,多数方法数值不稳定,下面图像展示了稳定计算球谐函数的递归关系路径。


计算球谐函数的递归关系的稳定路径

有稳定递归关系后,需用节点实现公式。在几何节点中编写长数学公式繁琐,作者认为需脚本节点处理,最终结果快速方便。


几何节点 - 递归关系公式实现的一部分

正确实现公式后,可像地图一样将其显示在球体表面。

球谐函数的实时可视化

Float32?高精度宇宙学没问题

几何节点使用 float32 数字,分析高分辨率地图或天空分区精度不够,需 float64 数字。但可用两个 float32 数字模拟 float64 数字及其运算,有很多算法可实现。在几何节点处理中,将 64 位数字存储在两个 float 通道中,可使用两个单独通道或一个向量通道保存实际数字两部分,创建自定义函数模拟分离数字的运算符。可视化时,将数字转换回 float32 并可视化即可。

物理学的其他领域

从看到 [Seanterelle](https://www.youtube.com/@seanterelle) 的作品到开发上述技术,作者思考“物理学的其他领域如何利用几何节点?”相信其他领域物理学家也可在其领域使用几何节点,如模拟晶体、自旋系统、天体物理系统、液体、蛋白质折叠、广义相对论计算/可视化和多体系统等。大家也可思考其用例,在自己领域开发模拟。

致谢

作者衷心感谢 Nima Khosravi 教授在工作科学方面的宝贵指导,特别感谢 Abdolali Banihshemi 博士在项目和撰写本文过程中的合作,还感谢 Francesco Siddi、Fiona Cohen 和 Sybren Stuvel 博士对发布这个用户故事的支持。

[__ 创建 “Il Baracchino”:意大利第一部使用 Blender 制作的成人动画系列](https://www.blender.org/user-stories/creating-il-baracchino-italys-first-adult-animated-series-made-with-bl)

http://www.jsqmd.com/news/699804/

相关文章:

  • 20253915 2025-2026-2 《网络攻防实践》实践8报告 -
  • 现代Java开发者的工具箱:从Lombok到MapStruct
  • Giser必懂⑦:WebGIS、桌面GIS、移动GIS、三维GIS的区别
  • Unity Figma Bridge架构解析:设计开发一体化工作流实战指南
  • 猫云AI_API中小企业商用 LLM 海外 API 稳定接入解决方案
  • 部署与可视化系统:模型部署:YOLOv10 转 ONNX + 使用 ONNXRuntime 推理(CPU/GPU)
  • Yakit Web Fuzzer实战:手把手教你用{{标签}}搞定短信轰炸、撞库和Host碰撞
  • 答辩PPT,别让工具拖垮内容:用百考通AI高效搞定毕业答辩
  • BilldDesk:3个关键优势让你告别传统远程控制限制
  • 马蹄杯入门组初赛总结
  • Tauri + MSIX 一天上架微软商店——独立开发者最低成本发行路径
  • 如何快速截屏
  • VSCode AI错误修复失效应急手册(2026.3紧急修订版),含6个一键禁用AI干扰的settings.json密钥+3种安全回滚路径
  • 5分钟快速上手:知识星球内容爬取与PDF电子书制作终极指南
  • 【MATLAB程序】基于RSSI的RFID二维轨迹定位仿真介绍,EKF滤波增加轨迹定位精度。附下载链接
  • 开源吐槽大会:技术社区的治愈新姿势
  • L1-050 倒数第N个字符串(15 分)[java][python]
  • 个人博客4: Git 忽略规则优化+跨文件上下文补全功能开发
  • 在人工智能行业的我渐渐成为了AI的反对者?
  • CUDA 13.3新增的__hmma_bf16_sm80指令集实战(首曝):BERT-large QKV融合算子重构,较cuBLAS快3.8×
  • AAAI 2026 AMD论文Spark方法揭秘:查询感知的 KV 缓存通道剪枝
  • 量子投票协议:原理、实现与噪声分析
  • 2026年的 ReAct Agent架构解析:原生 Tool Calling 与 LangGraph 状态机
  • 终极指南:如何在3分钟内为Windows电脑免费扩展10个虚拟显示器
  • 部署与可视化系统:边缘设备部署:YOLOv8 量化 + NCNN 在树莓派 5 上实时检测
  • IP归属地API接入实战指南:3天内安全上线的评估与落地方法
  • 成品批次信息及全链路溯源汇报材料(大客户专用)
  • 为AI编码助手注入Azure专家知识:Agent-Skills项目实战指南
  • Spring AI 实战:用 MongoDB Atlas 搭建高性能向量存储
  • 如何突破游戏数据黑箱?WzComparerR2逆向工程实战解析