如何在C#中制作旋转立方体动画?

3
我希望能够像这样做一些事情:在一个表单上旋转立方体。我不想使用任何外部库或dll,只想用纯粹的.NET 3.5(不使用directx)。而且我想要一个仅由线条构成的立方体。你可以告诉我如何做吗?
我不想使用外部库,因为我并不需要超过100MB的库来完成这个简单的事情。我只想要通过线条来制作一个旋转的立方体动画。

你能详细说明一下为什么不想使用外部库吗?OpenGL或DirectX比编写自己的引擎要简单得多。 - RB.
我已经更新了我的问题。请随意回答。 - Tom Smykowski
先生,请问您能否将代码发送给我? - Chris James
我想在纯WinForms中完成这个。 - Tom Smykowski
6个回答

5

4
学习任务?这可以通过一些简单的三维数学来完成。你只需要理解矩阵代数、三维变换和三维到二维视图转换的基础知识。 DirectX教程涵盖了这些内容,但你也可以在谷歌上搜索其他教程。 补充说明:我并不建议使用DirectX或任何其他东西。你可以使用标准的System.Drawing工具来完成。你只需要理解数学原理,而这些在DirectX教程中有详细解释。

抱歉,但这个教程并没有太大的帮助。 - Tom Smykowski

0
你可以尝试使用WPF和由WPF团队发布的3D工具源代码。 3DTools

0
假设您正在使用 WPF 来设计您的 GUI:
  1. 使用图形程序制作一个动画 PNG 格式的立方体。
  2. 使用 APNG WPF 控件 将图像插入到您的 GUI 中。

如果需要,这将产生较小的程序集大小和透明背景。


0

你需要一种表示三维点的方法。除非你使用DirectX或WPF,否则在.NET中没有现成的结构体可用。

然后,通过应用标准欧拉旋转矩阵到这些点上,你可以得到变换后的点。如果只进行旋转,你可以使用3x3矩阵,但如果你想要平移,最好使用4x4矩阵和齐次点。

之后,你需要一种将这些三维点投影到二维画布上的方法。根据你是使用透视投影还是正交投影,投影矩阵会有所不同。


-1

谢谢,但我想在纯WinForms中完成这个。 - Tom Smykowski

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