3

我想做这样的事情:表格上的旋转立方体。我不想使用任何外部库或 dll,只使用纯 .NET 3.5(没有directx)。以及仅使用线条构建的立方体。你能告诉我怎么做吗?

我不想使用外部库,因为我不需要> 100 MB 的库来做这件事,对吗?我只想为一个用线条制作的旋转立方体制作动画。

4

6 回答 6

5

这就是你在 GDI+ 中制作多维数据集的方法

使用 GDI+ 欧拉旋转的 C# 3D 绘图

http://www.vcskicks.com/3d-graphics-improved.html

带有阴影的 C# 3D 绘图立方体

http://www.vcskicks.com/3d_gdiplus_drawing.html

于 2008-12-09T15:01:26.373 回答
4

学习任务?这可以通过一些简单的 3D 数学来完成。您只需要了解矩阵代数、3D 变换和 3D->2D 视图变换的基础知识。DirectX 教程涵盖了这一点,但您可以在 google 上搜索它,您将获得大量其他教程。

补充:只是为了澄清-我不建议使用 DirectX 或任何东西。您可以使用标准的 System.Drawing 工具来做到这一点。您只需要了解数学,这在 DirectX 教程中进行了解释。

于 2008-12-09T14:20:24.007 回答
0

您可以尝试使用 WPF 和 WPF 团队发布的 3D Tools 源代码。

3D工具

于 2008-12-09T14:03:56.787 回答
0

假设您将 WPF 用于您的 GUI:

  1. 使用图形程序制作立方体的动画 PNG。
  2. 使用APNG WPF 控件将图像插入您的 GUI。

如果需要,这将产生较小的组件尺寸和透明背景。

于 2008-12-09T15:08:41.430 回答
0

您需要一种表示 3d 点的方法。除非您使用 directx 或 WPF,否则 .NET 中没有现成的结构。

然后将标准欧拉旋转矩阵应用于这些点,您将获得转换后的点。如果您只进行旋转,则可以使用 3x3 矩阵,但如果您想要平移,则最好使用 4x4 矩阵和同质点。

在此之后,您需要一种将这些 3d 点投影到 2d 画布的方法。根据您使用的是透视投影还是正交投影,投影矩阵看起来会有些不同。

于 2008-12-09T15:17:41.427 回答
-1

总体上看一下 WPF,它会帮助你用几行代码来做到这一点。您还可以在 Forms 中托管 WPF 窗口。

http://msdn.microsoft.com/en-us/library/aa970268.aspx

于 2008-12-09T14:22:33.707 回答