網路城邦
上一篇 回創作列表 下一篇  字體:
Ejs 的基本教學,第六堂課
2014/04/17 22:51:34瀏覽1627|回應0|推薦1

嚕嚕嚕,Ejs的教學已經到第五堂課了~

.

((不對吧......那前面呢那幾堂呢?為什麼都沒有看到~

如果你有這個問題,應該是代表你很(不幸)的提早亂入到這裡wwww

.

因為物裡課的下學期也是要寫一些上課學到有關EJS的報告

然後覺得還要弄網頁還要上傳FTP還會不小心把同學的作業蓋掉什麼的實在是太麻煩了

所以乾脆打在部落格算了XD

.

期中報告時間快到了,不才沒時間從第一篇寫起,直接往後跳吧

.

((小編表示大家的疑問應該是標題不是說是第六堂課嗎?

.

好來好啦,這是第六堂

.


今天要看的是這篇

就是講解說一顆球在一個有摩擦力的地板上轉動,然後會變成什麼樣子

.

這影片是從月亮的教學網頁那裡弄過來的,

雖然是用英文,不才也聽不太懂,但似乎是個很詳細的說明,裡面有提到轉動和移動的不同

影片最後面有說如果掉到有摩擦力的影片為什麼會讓球移動之類的

.

還是一樣,首先是打開Ejs

.

然後打開線上圖書館

.

點開"瀏覽目錄",選擇右上方的"Classical Mechanics"

裡面的"Newton's Second Low"

再裡面的"Force,Acceration"

的裡面的Slipping And Rolling Wheel

喔~原來今天要講的事有關輪子的事

(廢話...

.

按下下載之後,沒多久他會問你要把這東西存在哪裡

就隨便選一個地方吧

.

按下開啟之後,就會出現這堆東西了

.

先按一下主控台綠綠的撥放件進行模擬

看看這東西到底是幹嘛用的

.

如圖,這是一個模擬物理現象的視窗

上面那個黃黃的是在轉動的球

他會在原地打滾,然後因為摩擦力的關係,球球會向前進

.

然後他會留下軌跡

感覺跟會到處尿尿做記號的小狗差不多

.

然後模擬物理現象的視窗的下面有個記錄表格

.

根據不才的神猜

紅色的應該是角速度

然後黑色的是球體本身的速度

.

佳下來來看看這個模擬球球轉動的小程式是怎麼產生的吧~

首先他需要兩個視窗

.

上面有鎖鍊(美江興奮了?)的是主視窗

空空的那個是另外一個視窗

.

感覺跟C++的 int main差不多XD

.

接著來看看主視窗裡面偶些什麼吧~

主要來說,drawingPanel是中間有圖片的那堆

controlPanel是向方那一欄有按鈕有輸入框有文字的地方

upperPanel是上方那堆

.

DrawingPanel裡面有一些東西

ground是綠色地面

wheelGroup裡面有兩個東西,一個是球體,另一個是球上面那個非常不明顯的小黑點

.

然後rimTrail是記錄軌機用的線

forceArrow是在球的正下方的鍵頭,這裡剛剛好不見了

.

controlPanel裡面又有兩個小Panel

一個Panel是裝按鈕用的

另一個是裝小小Panel,裡面有一個文字和輸入框

.

這種類似C++封裝的概念(錯誤的現學現賣)

這種一直用Panel又Panel又Panel包起來的圓音是比較好管理。

排版也比較乾淨

.

這個是上方的Panel

也適用這種方式呢

.

比較要注意的,眼尖大家或許很好奇,範本裡面的球會轉動

怎麼讓他轉動呢?

.

原來在wheelGroup裡面又有一個做標,

做標的原點是在原做標的( x , R )上面

新的座標和原座標的角度是-theta

.

如果話圖來表示,差不多是這個樣子

.

其中物件Point 和 ball都在薪的座標上

如果 x 的數值加大,球和點就會移動

-theta 值改變,球和點就會轉動

.

.

rimTrail是一個記錄軌跡的東西

在圖形表格裡面也常常出線

.

而圖形表格視窗裡面有這些東西

.

有一個話圖形表格的原件

還有一個黑線,一個紅線

.

這個是黑線,是速度對時間

.

這個是紅線,是角速度對時間

.

上面比較重要的是"markerPos"

這是一個二維座標

.

主要是給記錄軌跡的原件使用

.

來看看變數吧

.

這些是一些初始直

.

在參數演話關係裡的微分函數

.

點開下面的事件,可以看到stop Slipping

這段程式碼是說,如果"slipping"不是正確的

((slipping預設值是True

也就是說,如果slipping=False

就回傳1,0

不然就回傳forceDirection*(omega*R-vx)

forceDirection是角速度-球的速度

.

在參數演話關係裡的Transfoem Vector

這段程式碼是把球上面的小點座標傳回來,給記錄球的記錄軌跡用

.

然後這是設定"重新設定時間"的函數

.

這是設定"重新設定滑動"的函數

( 興趣嗜好電腦3C )
回應 推薦文章 列印 加入我的文摘
上一篇 回創作列表 下一篇

引用
引用網址:https://classic-blog.udn.com/article/trackback.jsp?uid=andy840119&aid=12562449