我想做这样的事情:表格上的旋转立方体。我不想使用任何外部库或DLL,只是纯.NET 3.5(没有directx)。并且仅使用线条构建立方体。你能告诉我怎么做吗?
我不想使用外部库,因为我不需要> 100 MB的库做这件事吧?我只想动画一个用线条制作的旋转立方体。
答案 0 :(得分:5)
这就是你在GDI +中制作立方体的方法
使用GDI + Euler旋转的C#3D绘图
http://www.vcskicks.com/3d-graphics-improved.html
带阴影的C#3D绘图立方体
答案 1 :(得分:4)
学习作业?这可以通过一些简单的3D数学来完成。您只需要了解矩阵代数,3D变换和3D-> 2D视图变换的基础知识。 DirectX tutorial涵盖了这一点,但您可以谷歌搜索它,您将获得大量其他教程。
已添加:只是为了澄清 - 我不打算使用DirectX或其他任何东西。您可以使用标准的System.Drawing工具执行此操作。您只需要理解数学,并在DirectX教程中进行了解释。
答案 2 :(得分:0)
您可以尝试使用WPF和WPF团队发布的3D Tools源代码。
答案 3 :(得分:0)
假设您正在使用WPF作为GUI:
如果需要,这将产生一个小的装配尺寸和透明背景。
答案 4 :(得分:0)
您需要一种表示3d点的方法。除非使用directx或WPF,否则在.NET中没有现成的结构。
然后将标准的euler旋转矩阵应用于点,即可获得变换点。如果你只进行旋转,你可以使用3x3矩阵,但如果你想要翻译,你最好使用4x4矩阵和同质点。
在此之后,您需要一种方法将这些3d点投影到2D画布。根据您使用透视投影还是正交投影,投影矩阵看起来会有所不同。
答案 5 :(得分:-1)
一般来说,查看WPF,它可以帮助您使用一些可疑的代码行来完成此操作。您还可以在Forms中托管WPF窗口。