Part 1
- 以電影方式產生包含 21 個畫面的動畫,代表 peaks 曲面乘上 a,其中 a 的值由 -1 至 1 等分切成 21 點。
- 以物件方式產生動畫,呈現一個小圓(半徑為 1)在一個大圓(半徑為 3)的圓周外部滾動的動畫。
若以極座標(複數)來進行資料處理,程式碼會比較簡單一些,如下。
- 以物件方式產生動畫,呈現一個小圓(半徑為 1)在一個大圓(半徑為 3)的圓周內部滾動的動畫。
- 以物件方式產生動畫,呈現一個小圓(半徑為 1)在一個中圓(半徑為 3)的圓周內部滾動,且此中圓又在一個大圓(半徑為 5)的圓周內部滾動的動畫。
- 以物件方式產生動畫,呈現一個圓圈(半徑為 1)由畫面左邊滾到右邊,圓周上的任一點所拉出的一條擺線。
產生圖形如下:
- 以物件的方式產生動畫,呈現下列方程式: $$ y=cos^2(x+k)e^{-x/5} $$ 讓 k 隨時間而變大,來顯示此方程式的動畫。
Part 2
- XOR identity: For any logical variables x and y, prove the following identities:
- x ♁ y ♁ y = x
- ((x ♁ y)' ♁ y)' = x
- 外部花瓣線: 以物件方式產生動畫,呈現一個小圓(半徑為 1)在一個大圓(半徑為 5)的圓周外部滾動的動畫,並畫出小圓圓周任一點所形成的「外部花瓣線」。
- 內部花瓣線: 以物件方式產生動畫,呈現一個小圓(半徑為 1)在一個大圓(半徑為 5)的圓周內部滾動的動畫,並畫出小圓圓周任一點所形成的「內部花瓣線」。
提示:Hypocycloid on Wiki、Spirograph- 花瓣線之花瓣個數: 小圓在大圓的內部或外部滾動,會形成花瓣線。若大圓和小圓的半徑分別是 m 公分及 n 公分(其中 m 和 n 都是整數),請問
- 小圓必須在大圓內至少繞大圓圓心幾周,才會形成封閉的花瓣線?
- 這個封閉的花瓣線有幾個花瓣?
- 粒子碰撞動畫: 三個圓圈(半徑為1)在一個邊長為 10 的方形內進行碰撞,假設這三個圓圈的速度一樣(都是每秒10單位),質量也一樣,但運動方向及開始位置都是由亂數產生,請以MATLAB呈現此動畫。
提示:在發生碰撞時,兩球沿著切向量的速度不變,沿著法向量的速度變化則依循一維彈性碰撞的原則而定,相關方程式可見此說明(local copy、公式推導)。
MATLAB程式設計:入門篇