【问题标题】:Visualising 4D objects in OpenGL [closed]在 OpenGL 中可视化 4D 对象
【发布时间】:2011-10-22 18:05:06
【问题描述】:

您是否知道任何积极开发的 C/C++ 库可以获取一堆(最好是大量)4D 顶点,将它们投影回 3D 空间,相对于一些任意的“4D 相机”投影矩阵和输出我可以将常规 3D 顶点输入 OpenGL 以进行硬件加速可视化吗?我还需要能够在 4D 空间中执行标准转换(平移、沿所有 4 个轴旋转和统一缩放)。

【问题讨论】:

  • 听起来你需要五元组来实现旋转;-)(好问题!)
  • 我只想问:你用这个做什么?
  • 这里的基本问题不是,他们将 4D 形状投影到 3D 空间的方式相当随意吗?就像,没有这样做的标准方法,所以没有标准库实现这样做吗?
  • 一直以来,我一直认为第四维度是时间......
  • 这个想法绝对很酷,希望你成功!请注意,“quintonions”是一个笑话,没有这样的事情。 R^3 的欧几里得群(可以实现为 R^4 中的旋转群)等价于单位四元数的乘法群,这是一个令人高兴的意外。这在大多数其他维度中不会发生,您只需使用标准线性代数即可。

标签: c++ c opengl


【解决方案1】:

以下是一个糟糕的答案(因为我绝不是该主题的专家),但我决定快速浏览一下并提出这篇论文:http://steve.hollasch.net/thesis/#chapter4

如您所料,将 4D 对象投影到 3 空间是对 3D 投影到 2 空间的简单扩展,上述论文演示了从 4D 到 2 空间的不同类型的投影。代码示例是 C 语言的,所以应该很容易理解。

【讨论】:

  • 谢谢。我偶然发现了一两篇类似的论文和一个非常过时的库,用于将 4D 顶点投影到 3D 空间,但我希望有一个积极开发的项目。所以现在我要让这个问题保持开放。如果我找不到,我会自己动手。
  • @MasterM:如果您确实提出了一些建议,请发布您所学到的(或者您所做的!)作为答案。我很想看看你的想法。
  • @MasterM,热情仅次于 grayfade 的要求。这个问题绝对是新宠。将立体图视为增强 3D 感的一种方式。
  • 此答案中的链接已失效,但仍可以通过此链接访问该章:steve.hollasch.net/thesis/#chapter4
  • 谢谢。我已经修复了链接。
【解决方案2】:

Andrew Hanson 教授(印第安纳大学)开发了一个用于可视化 4D 几何图形的图形库。它被称为 GL4D。它旨在模仿 OpenGL 的感觉(尽管我不确定它是否真的建立在 OpenGL 之上)。它是 GPU 加速的。它支持投影、切片、隐藏表面移除、每体素光照和半透明着色。

这是解释 GL4D 的出版物:GL4D paper

这里是源代码的链接:GL4D Source Code

下面是 GL4D 的视频演示:GL4D Video Demonstration

【讨论】:

    猜你喜欢
    • 2017-10-15
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-19
    相关资源
    最近更新 更多