用C#进行简单的3D渲染

6

我是一个视觉型人格,如果我能够将某些东西可视化,它往往更容易理解。

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

我有一个三维的Int32数组:

Int32[,,] data = new Int32[256,256,256];

我用数据填充了这个数组,现在想在3D空间中呈现它。其中X、Y和Z坐标轴上,如果数据大于0,则放置一个点。可以改变视角是额外的奖励,但不是必要的。
我还没有深入研究过3D渲染,所以最简单的方法最好。
任何帮助或指引将不胜感激。
谢谢。
2个回答

6

2
我不建议使用WPF / WPF3D来开始绘制3D数据。设置3D场景并不容易 - 您需要从数据创建三角形网格,正确照明场景,并将相机放置在正确的位置和角度。然后您还需要学习WPF。这只是为了入门。然后,您可能希望为各种Z值着色网格,并在图表上放置xyz轴。我建议使用图表控件,可以选择微软或DundasChart。 - Ankur Goel
从快速浏览文章来看,它似乎并不简单,但至少比实现一个3D引擎要简单。在阅读并尝试文章中的示例后,我会回报的。 - Gineer
2
我现在已经通过这篇文章摸索出了方法,并且成功地完成了我想做的事情。我能够生成相当复杂的数据可视化,并在运行时沿任何方向进行缩放和倾斜。从 .Net 视角来看,如果您想进入这种类型的工作,这绝对是一个值得学习的例子。 - Gineer
链接已经失效,但我在github上找到了一些与之相关的代码:https://github.com/kindohm/wpf3dtutorial - Matt Becker

1

Microsoft .Net Chart Control - 在这里下载。它就像在Excel中使用3D图表。


谢谢这个。保持简单总是关键,但在这种情况下,我需要的不仅仅是Excel类型的图表,否则Excel 3D曲面图就可以解决问题了。我拥有的数据相当复杂,需要我将3D点放置在存在数据的虚拟立方体内。问题是我需要看到立方体的内部,而不仅仅是数据的外表面。 - Gineer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接