2014-01-30 35 views
1

那麼這是一個我選擇爲我的計算機圖形類做的項目 - 繪製一個可以從不同角度觀看的大鋼琴。從HTML5上的不同角度繪製模型<canvas>

我還沒有開始工作,我剛剛完成了lynda.com課程HTML5:Graphics and Animation with Canvas。我可以看到人們如何製作一個立方體或一個球,這些簡單的數字。但我不知道應該如何繼續我的項目。一個一個定義每個小表面,肯定會是非常單調乏味的。我應該多學點? WebGL或其他東西?或者,「乏味」的方式是「好的」方式?你會建議什麼?

回答

2

「不同的角度」意味着你想建模和渲染一個三維物體。

這裏是一個食譜成功:

  • 設計您在任何開源和免費的建模應用程序模型(鋼琴),像Blender

  • 然後,學習的Three.js或類似WebGL的基礎知識框架,簡化渲染3D場景的複雜過程

  • 從Blender導出模型並將其導入到Three.js JavaScript中。

有可能呈現在three.js所對象<canvas>未使用WebGL,但是使用WebGL的後端simplies過程了很多,我強烈推薦支持WebGL堅持。

Here are is one of Three.js examples showing some modeled cars from different angles (cameras)

HTML5 Canvas API主要用於2D圖形,並不適合您的目的,因爲您已經注意到它的侷限性。

+0

+1 @Shashwat Black:你對第一個項目非常有雄心。這個答案可能是您可以用來在學期中完成的方法。 – markE

+0

抱歉遲到回覆。其實教授希望我們應用在課堂上學到的算法。所以使用攪拌機不是正確的選擇。我一直在努力。我兩天前開始製作線框模型。在提交到期之前,我還有大約10天的時間。到那時我必須完成可見的表面檢測,照明和陰影。希望我能及時完成。如果我早點完成,我也會研究渲染陰影。 謝謝你的回覆。 :) –

+0

[這裏](http://i.imgur.com/XnG2Guf.png)是它現在的樣子。我知道這不是最好的,但我學到了很多東西。 另外,如果您有任何進一步的建議,那會很棒.. –

0

使用WebGL,Three.js的目標是非常方便。 www.udacity.com有一個關於使用Three.js的3D圖形課程,這對開始非常有用。 實時三維圖形基本上是創建一個2D圖像,重新創建3D角度的效果,並可以實時更新。 以蠻力的方式進行討論並不會告訴你如何達到這種效果。