C#中的简单3D渲染

Gin*_*eer 6 c# 3d

我是一个视觉形象的人,如果我可以想象一些对我来说更有意义的东西.

有没有一种简单的方法来渲染3D数据以用于简单的可视化?我实际想做的是以下内容:

我有一个Int32的3维数组:

Int32[,,] data = new Int32[256,256,256];
Run Code Online (Sandbox Code Playgroud)

我用数据填充这个数组,基本上现在想要在3D空间中渲染它.X,Y和Z并在数据大于0的位置放置一个点

能够改变视角将是一个奖励,但不是必需的.

我没有足够深入地研究3D渲染,以便使用任何真正的3D引擎,因此越简单越好.

任何帮助,指针都会很好.

谢谢

Hei*_*nzi 5

WPF(Windows Presentation Foundation,包含在.net 3.5中)使得3D渲染非常容易(或者至少比以前更容易).看看以下教程:

http://www.kindohm.com/technical/WPF3DTutorial.htm - 原始链接已经死亡,但文章仍然可以在archive.org上找到, http: //web.archive.org/web/20131122141342/http: //kindohm.com/technical/WPF3DTutorial.htm

它展示了如何创建一个小型3D视口并在其中放置简单元素.

  • 我不建议仅使用WPF / WPF3D来开始绘制3D数据的图形。设置3D场景并不容易-您必须根据数据创建一个三角形网格,适当地照亮场景,然后将相机以正确的角度放置在正确的位置。然后,您必须学习WPF。那只是开始。然后,您可能需要为各种Z值的网格着色,并可能在图形上放置xyz轴。我会坚持使用Microsoft或DundasChart的图表控件。 (2认同)
  • 我现在已经完成了这篇文章,并且能够完成我的目标.我能够生成相当复杂数据的可视化,并在运行时以任何方向放大和倾斜图形.如果您想从.Net的角度来看这种类型的东西,这是迄今为止的例子. (2认同)