2008-12-09 43 views
3

我想這樣做:在窗體上旋轉的立方體。我不想使用任何外部庫或DLL,只是純.NET 3.5(不包括directx)。而立方體只能用線條構建。你能告訴我如何做到這一點?如何在C#中旋轉立方體動畫?

我不想使用外部庫,因爲我不需要> 100 MB的庫來做這件事嗎?我只想製作一個用線條製作的旋轉立方體的動畫。

+0

您可以擴展您的要求,爲什麼你不想使用外部庫? OpenGL或DirectX使這種事情比編寫自己的引擎簡單得多。 – 2008-12-09 13:57:43

+0

我已經提出了我的問題。隨時回答。 – 2008-12-09 14:00:21

+0

請先生,你能給我發送代碼 – qui 2008-12-09 14:00:58

回答

0

您可以嘗試使用WPF團隊發佈的WPF和3D工具源代碼。

3DTools

4

研究任務?這可以通過一些簡單的3D數學來完成。您只需要瞭解矩陣代數,3D變換和3D-> 2D視圖變換的基本知識。 DirectX tutorial涵蓋了這個,但你可以谷歌它,你會得到很多其他的教程。

添加:只是爲了澄清 - 我不建議使用DirectX或任何東西。你可以用標準的System.Drawing工具來做到這一點。你只需要瞭解數學,這在DirectX教程中有解釋。

0

假設你正在使用WPF爲您的GUI:

  1. 請使用圖形程序立方體的動畫PNG。
  2. 使用APNG WPF Control將圖像插入GUI。

這將產生一個小的程序集大小和透明背景,如果需要的話。

0

您需要一種方法來表示3d點。除非使用directx或WPF,否則在.NET中沒有現成的結構。

然後用一個標準的歐拉旋轉矩陣應用到點上,得到變換後的點。如果你只做旋轉,你可以用3x3矩陣逃脫,但如果你想翻譯,你最好使用4x4矩陣和均勻點。

在此之後,您需要一種方法將這些3d點投影到2d畫布。取決於您是使用透視還是正交投影,投影矩陣看起來有點不同。