使用 Blender 可视化天体物理数据

还没有读者喜欢这个。
Girl reaching out to the stars

Opensource.com

Blender 研讨会 已经成为一个绝佳的展示平台,不仅展示了引人入胜的艺术和动画,还展示了 Blender 和开源软件的非常规用途。

Jill Naiman 博士,AstroBlend今年,一个真正吸引我眼球的演讲是 Jill Naiman 博士 关于她的 AstroBlend 项目的演讲。简而言之,她为 Blender 创建了一个插件,可以帮助可视化和分析天体物理模拟和数据。她谈到了在 15-25TB 的数据快照上使用 Blender。

Jill 也是一位创客,专注于 “闪烁的东西”和可穿戴技术。她的幻灯片可以在 AstroBlend 网站上找到,而使用 AstroBlend 制作的动画视频可以在 AstroBlend YouTube 频道上找到。

Interview banner

从表面上看,Blender 似乎是可视化天体物理数据的奇怪选择。您选择它而不是其他软件包,甚至基于现有库自行开发的原因是什么?

我对 Blender 有一些喜欢的地方(除了在开始这个项目时,我没有 3D 可视化经验,而 Blender 是 Google 上弹出的第一批东西之一)。当我开始研究 Blender 可以做什么时,我对轻松结合艺术和科学的可能性感到兴奋——例如,使用艺术模型来缩放你的模拟,或为艺术家提供星系、行星等的物理驱动模拟。

AstroBlend screenshot

AstroBlend 在运行中。由 Jill Naiman 提供。保留所有权利。

这一切都是由我在一次会议上看到的一个很酷的公开讲座激发的,演讲者有很多互动电影,当然我也希望能够做到。然而,当我问他是如何制作这些电影时,他告诉我他只是把所有数据都交给了他们的“百万美元”工作室,而作为一名研究生,我根本无法接触到。Blender 似乎可以提供很多这样的工具。当然,它是免费的,这激起了我最初的兴趣。当我更多地摆弄它时,我意识到它可以很容易地与另一个流行的基于 Python 的数据分析包 yt 结合使用。

所以现在有了 yt+Blender,您可以直接访问来自多种类型的天体物理代码的数据。目前,我正在构建一个用于天体物理数据的 GUI,它允许从不同类型的代码加载多个数据集,并在 3D 中直接交互,这在其他天体物理可视化软件包中我还没有看到过,所以这非常棒。最后,我坚信不要重复造轮子——Blender 已经拥有了很多我想要的东西,所以我不需要花费大量本应应该用来撰写论文的时间来创建全新的可视化代码。

我看到 AstroBlend 在 BitBucket 上有一个公共存储库。一切似乎都是用 Python 完成的,这非常酷。您是否对 Blender 的核心进行了修改以使 AstroBlend 成为可能?您希望在 Blender 的源代码中添加什么,以使 AstroBlend 中的事情更容易?

我还没有修改 Blender 的源代码。我尽可能地避免它。我们的想法是拥有一个易于使用的东西——一个刚刚开始生成 3D 数据的年轻科学家可以简单地下载最新版本的 Blender,放入 AstroBlend,他们就可以开始分析他们的数据了。我不希望他们担心必须找到 Blender 的“非标准”版本。

希望这种易于访问性也可以扩展到对刚入门的年轻艺术家来说也很容易,但不可否认的是,我一直偏向于关注科学家的角度。我希望看到更容易地访问体积渲染结构,以便可以直接从模拟输出文件加载体数据,并将其推送到 Blender 中的体素数据结构。现在我正在尝试一种解决方法,需要用 c-types 结构覆盖体素数据结构,但这让我有点紧张,如果可以直接传递指向内存中加载的体数据的指针,那就太好了。我还与 yt 的人们讨论了如何将他们的体积渲染与 Blender 的体积渲染更好地集成,我可能只使用 Python 会遇到一些障碍,但我还不确定这一点。

除了 Python 和 Blender,您是否还在结合 AstroBlend 使用任何其他开源工具或库?例如,有用于可视化体积数据的 OpenVDB 库

除了我之前提到过的 yt 之外,真的没有其他东西了。我瞥了一眼 OpenVDB,以及一些 WebGL 的东西,但它绝对属于“嘿,这很酷。等我有空的时候我会看看”这一类,而不是积极开发的那一类。

使用您在 AstroBlend 中创建的可视化工具,您能够看到或发现哪些有趣的东西,如果没有它,这些东西可能很难看到或发现?

诚然,事情仍处于开发阶段,所以我才刚刚开始将其用作论文等的工具。直到最近,我主要将其用作教学工具,作为教学工具,它非常棒,因为它允许学生快速可视化某些东西,并了解相对较大且复杂的模拟中正在发生的基本要点。

现在,一名学生正在完成一篇关于恒星风如何在大型星团中相互作用以查看有多少物质被保留(以及我们期望在这些系统中观察到多少物质)的论文。早期,我们对她的模拟做了一些三维等密度面,这对于了解冲击波在她的星团中在哪里形成以及热气体与冷气体在哪里很有用。我们正在为她即将发表的论文中的一个图表使用其中的几个表面,这令人兴奋。

由 Jill Naiman 提供。保留所有权利。

我也用它来理解我正在做的模拟的整体背景。例如,我结合了某人创作的星系艺术模型、一些观测数据和我自己的模拟数据,以更好地了解围绕我们银河系运行的矮星系的动力学。这是一种很好的方式来掌握我在二维图中发现难以掌握的事物的尺度。我认为,当我完成 GUI 方面的工作时,那将真的非常棒,因为它将允许以新颖的方式与一个人的数据在 3D 空间中进行交互,并且应该使一些分析图在 3D 上下文中更容易理解。

AstroBlend 的下一步是什么?它现在完整了吗,还是您有兴趣添加其他功能?

绝对没有完成!我想让它更容易安装,无论是否需要安装 yt 以进行直接数据交互。我认为将其制作为 Python 包和 Blender 插件可以解决问题,所以我只需要着手去做。我可能会首先推动这一点,然后完成 GUI 方面的工作,然后希望进行一些初步的体积渲染。我也很想尝试整合一些 yt 的体积渲染。哦,还有 Cycles!我需要支持 Cycles 渲染。我想有很多东西。我有一个长长的清单。但在不久的将来,我认为这些是我将关注的几个方面。

Blender 研讨会 2015Blender 是一款免费且开源的 3D 创建套件。Blender 研讨会 是一年一度在阿姆斯特丹举行的活动,供开发人员、设计师和爱好者了解更多关于 Blender 技术、功能和工具的信息。

标签
User profile image.
Jason van Gumster 大部分时候都在编造东西。他写作、动画制作,偶尔也教书,所有这些都使用开源工具。他经营着一家小型独立动画工作室,撰写了《Blender For Dummies》和《GIMP Bible》,并继续在 [有时] 每周的播客《Open Source Creative Podcast》中吐露他的经验。冒险(和谎言)尽在 @monsterjavaguns。

2 条评论

这是 Blender 的一个非常独特的用途!科学模拟和模拟作为 VFX 动画作弊手段的交叉导致了一个意想不到但令人兴奋的共享空间。我真的很高兴这发生在 Blender 中。

很高兴看到 3D 打印和天文学等不同社区都在使用 Blender。Bender 正在成为任何行业的默认 3D 解决方案。感谢精彩的采访。

知识共享许可协议本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.