2011-04-20 34 views
2

我們正試圖創建一個簡單的編程環境,讓人們生成3D表單(它受到Scratch project的啓發)。我們希望它能夠以「烏龜幾何」的方式工作,在這種方式中,一個生物(我們稱之爲甲蟲,與標誌烏龜類似)在三維空間中移動,並且可以沿着它的位置離開物體和方向。我們如何在three.js中創建烏龜幾何?

我們目前使用Three.js。雖然您可以移動和旋轉對象,但如何創建我們想要的效果並不清楚,翻譯和旋轉「積累」並可應用於新對象。我們還想存儲一堆這些矩陣來推送和彈出。

下面是一個具體的例子。我們的系統會創建這樣一個程序的用戶(這是僞代碼):

repeat 36 [ 
    move 10 
    rotate 10 
    draw cube 
] 

的想法是,甲蟲,會繞了一圈移動在執行這個計劃,在每個位置留下一個立方體。

這是可能的使用Three.js?我們是否需要切換到純WebGL?

+1

強制鏈接:http://stackoverflow.com/questions/1003841/how-do-i-move-the-turtle-in-logo – BoltClock 2011-04-20 17:51:48

+1

什麼將'旋轉10'意味着在3D環境中?關於哪個軸和點?不錯的項目。 – Orbling 2011-05-30 13:29:03

回答

0

要求聽起來相當高級。沒有理由需要原始webgl的低級訪問。像three.js這樣的更高級別的庫,可以做得很好。

正如@Orbling指出的那樣,你需要計算3D的旋轉角度;例如

rotateX 10 

(繞x軸逆時針10度),或

turnLeft 10 

(逆時針旋轉10度圍繞電流達載體)。