歡迎光臨
每天分享高質量文章

用 Python 20 秒畫完小豬佩奇“社會人”!附效果影片+完整程式碼

導讀:今年社交平臺上最火的帶貨女王是誰?範冰冰?楊冪?Angelababy?不,是豬豬女孩小豬佩奇。


小豬佩奇在構圖基本是各種曲線,類拋物線、類圓、類橢圓、類二次貝塞爾曲線。


因為畫圖畫曲線不是Python擅長的事情,所以用純粹的Python來做,會更有挑戰,也更有趣。

如果你經常用抖音、快手、B站、知乎、微博……或者類似的任何一個內容或社交平臺,那你很大機率能答出這道題:

答案是:掌聲送給社會人。

隨著口號喊響,社會人小豬佩奇似乎一夜之間就在短影片平臺和社交網路上爆火了,同時網路上遍佈了小豬佩奇九步畫法。於是我在兒童節這一天畫了一下,結果,不忍直視……

▲我畫的,哈哈

▲人家的畫

觀察這個影象可以發現,小豬佩奇在構圖基本是各種曲線,類拋物線、類圓、類橢圓、類二次貝塞爾曲線。這裡說的都是“類”,這也正是小豬佩奇的構圖精髓,一種手繪風格,而不是標準刻板的線條。


在前端技術選型上,畫圖首先想到的是svg、canvas,但它們本身就擅長畫圖,而且網上都有線上編輯svg的工具,這就沒意思了,我想佩奇也不會答應的。於是我想用純粹的Python來做,這樣更有挑戰,因為畫圖畫曲線不是Python擅長的事情。

基本思路:選好畫板大小,設定好畫筆顏色,粗細,定位好位置,依次畫鼻子,頭、耳朵、眼睛、腮、嘴、身體、手腳、尾巴,完事。

都知道,turtle 是 python 內建的一個比較有趣味的模組,俗稱海龜圖,它是基於 tkinter 模組打造,提供一些簡單的繪圖工具。

在海龜作圖中,我們可以編寫指令讓一個虛擬的(想象中的)海龜在螢幕上來回移動。這個海龜帶著一隻鋼筆,我們可以讓海龜無論移動到哪都使用這隻鋼筆來繪製線條。透過編寫程式碼,以各種很酷的樣式移動海龜,我們可以繪製出令人驚奇的圖片。

使用海龜作圖,我們不僅能夠只用幾行程式碼就創建出令人印象深刻的視覺效果,而且還可以跟隨海龜看看每行程式碼如何影響到它的移動。這能夠幫助我們理解程式碼的邏輯。所以海龜作圖也常被用作新手學習 Python 的一種方式。更豐富詳細的功能及知識可以參考:

官方檔案:

https://docs.python.org/3/library/turtle.html

瞭解了turtle的用法之後就可以開始實戰了。哈哈,先看看效果影片: