在OpenGL中可视化4D对象

时间:2011-08-08 21:14:49

标签: c++ c opengl

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

2 个答案:

答案 0 :(得分:6)

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

正如您所期望的那样,将4D物体投射到3空间中是将3D投影到2空间的简单扩展,并且上述论文展示了从4D到2空间的不同类型的投影。代码示例使用C语言,因此应该很容易理解。

答案 1 :(得分:4)

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

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

以下是源代码的链接:GL4D Source Code

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