繪製正多邊形
這篇文章會介紹,在 Scratch 裡使用擴充功能的畫筆,搭配變數、函式、定位、重複、三角函數...等積木,繪製一個可以動態調整邊數和邊長的正多邊形。
角色設定
在角色編輯區,刪除貓咪角色,加入一個「空白」的角色 ( 參考:Scratch 角色設定 )。
因為待會使用畫筆繪圖,不會出現角色,所以直接使用全空的空白角色。
積木程式原理
從左側積木清單裡,建立「角度」、「邊長」和「邊數」三個變數,將邊長和邊數,勾選顯示在舞台中。
用滑鼠在舞台的變數上按右鍵,點選「滑桿」,變更為滑桿類型。
加入擴充功能的「畫筆」,在點擊綠旗時,設定畫筆的顏色和粗細,並將邊數預設 5,邊長預設 50。
從左側積木清單,建立一個函式,加入 n 和 m 兩個參數,分別代表邊數和邊長,並勾選「執行完畢再更新畫面」。
「執行完畢再更新畫面」的功能,可以讓函式內不需要等待的程式快速執行,加快畫面運行速度。
編輯函式內容,設定執行函式時的動作,接著在點擊綠旗時執行函式,點擊綠旗後,舞台的正中心就會出現一個點,這個點就是待會繪製正多邊形的中心點。
- 將畫筆定位到 (0, 0) 的位置,面朝 90 度。
- 清除舞台上所有筆跡。
- 下筆、停筆,在舞台上畫出一個「點」。
編輯函式內容,加入繪製多邊形的程式:
- 設定「角度」變數為「360 / n」,根據邊的數量,將 360 進行等分,例如五個邊,等分後的角度就是 72 度。
- 下筆畫畫。
- 使用「重複...次」積木,重複邊的數量。
- 每次重複旋轉指定角度,移動指定邊長。
- 重複結束後,停筆。
完成後點擊綠旗,舞台上就會出現一個正五邊形,不過這個正五邊形的中心並不在舞台正中間,而是以出發點為中心。
接著可以從下圖的三角函數公式,重新定位中心的 xy 座標。
- x 方向修正:往右移動「邊長/2」。
- y 方向修正:往上移動「(邊長/2) x tan(角度/2)」。
按照公式,在函式裡放入對應的積木。
最後在點擊綠旗時,增加一個重複無限次積木,重複執行函式。
完成效果
完成後,點擊綠旗,就會看見舞台中出現正多邊形。
範例解答
範例解答:繪製正多邊形
延伸練習
如果已經熟悉了繪製正多邊形的原理,還可以嘗試更多好玩的作法:
嘗試將正多邊形「填滿顏色」。( 解答 )
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~