我想做这样的事情:表格上的旋转立方体。我不想使用任何外部库或 dll,只使用纯 .NET 3.5(没有directx)。以及仅使用线条构建的立方体。你能告诉我怎么做吗?
我不想使用外部库,因为我不需要> 100 MB 的库来做这件事,对吗?我只想为一个用线条制作的旋转立方体制作动画。
这就是你在 GDI+ 中制作多维数据集的方法
使用 GDI+ 欧拉旋转的 C# 3D 绘图
http://www.vcskicks.com/3d-graphics-improved.html
带有阴影的 C# 3D 绘图立方体
学习任务?这可以通过一些简单的 3D 数学来完成。您只需要了解矩阵代数、3D 变换和 3D->2D 视图变换的基础知识。DirectX 教程涵盖了这一点,但您可以在 google 上搜索它,您将获得大量其他教程。
补充:只是为了澄清-我不建议使用 DirectX 或任何东西。您可以使用标准的 System.Drawing 工具来做到这一点。您只需要了解数学,这在 DirectX 教程中进行了解释。
您可以尝试使用 WPF 和 WPF 团队发布的 3D Tools 源代码。
您需要一种表示 3d 点的方法。除非您使用 directx 或 WPF,否则 .NET 中没有现成的结构。
然后将标准欧拉旋转矩阵应用于这些点,您将获得转换后的点。如果您只进行旋转,则可以使用 3x3 矩阵,但如果您想要平移,则最好使用 4x4 矩阵和同质点。
在此之后,您需要一种将这些 3d 点投影到 2d 画布的方法。根据您使用的是透视投影还是正交投影,投影矩阵看起来会有些不同。
总体上看一下 WPF,它会帮助你用几行代码来做到这一点。您还可以在 Forms 中托管 WPF 窗口。