從程式製作國旗 — 利用 Playground 畫出加拿大國旗

此次的作業是利用程式來畫出國旗,我挑選了加拿大國旗來做練習

加拿大國旗設計圖

為了製作完美的國旗,稍微查了一下加拿大國旗的設計邏輯,發現長寬比為 1:2 ,中間白色區域占了 2/4 也就是整張國旗的一半面積.兩邊紅色各為 1/4 國旗面積,整個國旗是採用左右對稱的方式完成.

既然知道了設計方式,就可以比較容易的開始動工畫圖,首先先畫出一個長寬 1:2 的矩形,這邊我用 200 * 400 方便運算,可以直接看下方程式碼的部分

畫楓葉的部分是透過其他同學作業中所推薦的軟體 Geogebra ,透過這套軟體,將楓葉對齊並標上點.(同學們的作業連結如下)

因為加拿大國旗有左右對稱的關係,所以楓葉的部分我只打算畫出一半的楓葉,另一半希望透過程式幫我畫出來.

畫出一半對稱的楓葉

來稍微解釋一下如何算出對稱點,以下面這張圖為範例,假設楓葉頂端的座標為 (200,20) ,左邊楓葉頂點為(170,40)、右邊楓葉頂點為 (230,40).

坐標示意圖

透過這簡單的座標系統,就可以得知對稱的左右邊的中線為 X = 200 ,兩邊的Y軸固定,變動的變數為X軸,所以可以簡單的得出一個小公式如下:

透過上面所得到的公式,可以將所有左半邊的點都帶入相同公式,並且得到右半邊的楓葉,並形成一個完整的楓葉.

最後我們再將做出來的楓葉加入至原本的國旗中,這樣就可以將完整的加拿大國旗畫出來了.

完成圖如下:

最後附上完整程式碼:

--

--