turtle 20秒畫完小豬佩奇“社會人”

轉載:https://blog.csdn.net/csdnsevenn/article/details/80650456

640?wx_fmt=jpeg

圖片源自網絡

作者

丁彥軍

如需轉載,請聯系原作者授權。

?

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

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

640?wx_fmt=jpeg

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

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

640?wx_fmt=jpeg

我畫的,哈哈

640?wx_fmt=jpeg人家的畫

觀察這個圖像可以發現,小豬佩奇在構圖基本是各種曲線,類拋物線、類圓、類橢圓、類二次貝塞爾曲線。這里說的都是“類”,這也正是小豬佩奇的構圖精髓,一種手繪風格,而不是標準刻板的線條。在前端技術選型上,畫圖首先想到的是svg、canvas,但它們本身就擅長畫圖,而且網上都有在線編輯svg的工具,這就沒意思了,我想佩奇也不會答應的。于是我想用純粹的Python來做,這樣更有挑戰,因為畫圖畫曲線不是Python擅長的事情。

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

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

在海龜作圖中,我們可以編寫指令讓一個虛擬的(想象中的)海龜在屏幕上來回移動。這個海龜帶著一只鋼筆,我們可以讓海龜無論移動到哪都使用這只鋼筆來繪制線條。通過編寫代碼,以各種很酷的模式移動海龜,我們可以繪制出令人驚奇的圖片。使用海龜作圖,我們不僅能夠只用幾行代碼就創建出令人印象深刻的視覺效果,而且還可以跟隨海龜看看每行代碼如何影響到它的移動。這能夠幫助我們理解代碼的邏輯。所以海龜作圖也常被用作新手學習 Python 的一種方式。更豐富詳細的功能及知識可以參考:(官方文檔:https://docs.python.org/3/library/turtle.html)

了解了tuttle的用法之后就可以開始實戰了。哈哈,先看看效果視頻:

?

詳細代碼如下:

?

from?turtle?import*

def?nose(x,y):#鼻子
? ?penup()#提起筆
? ?goto(x,y)#定位
? ?pendown()#落筆,開始畫
? ?setheading(-30)#將烏龜的方向設置為to_angle/為數字(0-東、90-北、180-西、270-南)
? ?begin_fill()#準備開始填充圖形
? ?a=0.4
? ?for?i?in?range(120):
? ? ? ?if?0<=i<30?or?60<=i<90:
? ? ? ? ? ?a=a+0.08
? ? ? ? ? ?left(3)?#向左轉3度
? ? ? ? ? ?forward(a)?#向前走a的步長
? ? ? ?else:
? ? ? ? ? ?a=a-0.08
? ? ? ? ? ?left(3)
? ? ? ? ? ?forward(a)
? ?end_fill()#填充完成

? ?penup()
? ?setheading(90)
? ?forward(25)
? ?setheading(0)
? ?forward(10)
? ?pendown()
? ?pencolor(255,155,192)#畫筆顏色
? ?setheading(10)
? ?begin_fill()
? ?circle(5)
? ?color(160,82,45)#返回或設置pencolor和fillcolor
? ?end_fill()

? ?penup()
? ?setheading(0)
? ?forward(20)
? ?pendown()
? ?pencolor(255,155,192)
? ?setheading(10)
? ?begin_fill()
? ?circle(5)
? ?color(160,82,45)
? ?end_fill()

def?head(x,y):#頭
? ?color((255,155,192),"pink")
? ?penup()
? ?goto(x,y)
? ?setheading(0)
? ?pendown()
? ?begin_fill()
? ?setheading(180)
? ?circle(300,-30)
? ?circle(100,-60)
? ?circle(80,-100)
? ?circle(150,-20)
? ?circle(60,-95)
? ?setheading(161)
? ?circle(-300,15)
? ?penup()
? ?goto(-100,100)
? ?pendown()
? ?setheading(-30)
? ?a=0.4
? ?for?i?in?range(60):
? ? ? ?if?0<=i<30?or?60<=i<90:
? ? ? ? ? ?a=a+0.08
? ? ? ? ? ?lt(3)?#向左轉3度
? ? ? ? ? ?fd(a)?#向前走a的步長
? ? ? ?else:
? ? ? ? ? ?a=a-0.08
? ? ? ? ? ?lt(3)
? ? ? ? ? ?fd(a)
? ?end_fill()

def?ears(x,y):?#耳朵
? ?color((255,155,192),"pink")
? ?penup()
? ?goto(x,y)
? ?pendown()
? ?begin_fill()
? ?setheading(100)
? ?circle(-50,50)
? ?circle(-10,120)
? ?circle(-50,54)
? ?end_fill()

? ?penup()
? ?setheading(90)
? ?forward(-12)
? ?setheading(0)
? ?forward(30)
? ?pendown()
? ?begin_fill()
? ?setheading(100)
? ?circle(-50,50)
? ?circle(-10,120)
? ?circle(-50,56)
? ?end_fill()

def?eyes(x,y):#眼睛
? ?color((255,155,

轉載于:https://www.cnblogs.com/xudj/p/10291273.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/388452.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/388452.shtml
英文地址,請注明出處:http://en.pswp.cn/news/388452.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

最佳子集aic選擇_AutoML的起源:最佳子集選擇

最佳子集aic選擇As there is a lot of buzz about AutoML, I decided to write about the original AutoML; step-wise regression and best subset selection. Then I decided to ignore step-wise regression because it is bad and should probably stop being taught. That…

Java虛擬機內存溢出

最近在看周志明的《深入理解Java虛擬機》&#xff0c;雖然剛剛開始看&#xff0c;但是覺得還是一本不錯的書。對于和我一樣對于JVM了解不深&#xff0c;有志進一步了解的人算是一本不錯的書。注明&#xff1a;不是書托&#xff0c;同樣是華章出的書&#xff0c;質量要比《深入剖…

spring boot構建

1.新建Maven工程 1.File-->new-->project-->maven project 2.webapp 3.工程名稱 k3 2.Maven 三個常用命令 選 項目右擊- >run-> Maven clean&#xff0c;一般新工程&#xff0c;新導入工程用這個命令清理clean Mvaen install&#xff0c; Maven test&#xff0c…

用戶輸入漢字時計算機首先將,用戶輸入漢字時,計算機首先將漢字的輸入碼轉換為__________。...

用戶的蓄的形能器常見式有。輸入時計算機首先輸入包括藥物具有基的酚羥。漢字換物包腺皮括質激腎上素藥。對既荷又有線有相間負負荷時&#xff0c;將漢倍作為等選取相負效三相負荷乘荷最大&#xff0c;將漢相負荷換荷應先將線間負算為&#xff0c;效三相負荷時在計算等&#xf…

從最終用戶角度來看外部結構_從不同角度來看您最喜歡的游戲

從最終用戶角度來看外部結構The complete python code and Exploratory Data Analysis Notebook are available at my github profile;完整的python代碼和Exploratory Data Analysis Notebook可在我的github個人資料中找到 &#xff1b; Pokmon is a Japanese media franchise,…

apache+tomcat配置

無意間看到tomcat 6集群的內容&#xff0c;就嘗試配置了一下&#xff0c;還是遇到很多問題&#xff0c;特此記錄。apache服務器和tomcat的連接方法其實有三種:JK、http_proxy和ajp_proxy。本文主要介紹最為常見的JK。 環境&#xff1a;PC2臺&#xff1a;pc1(IP 192.168.88.118…

記自己在spring中使用redis遇到的兩個坑

本人在spring中使用redis作為緩存時&#xff0c;遇到兩個坑&#xff0c;現在記錄如下&#xff0c;算是作為自己的備忘吧&#xff0c;文筆不好&#xff0c;望大家見諒&#xff1b; 一、配置文件 1 <!-- 加載Properties文件 -->2 <bean id"configurer" cl…

Azure實踐之如何批量為資源組虛擬機創建alert

通過上一篇的簡介&#xff0c;相信各位對于簡單的創建alert&#xff0c;以及Azure monitor使用以及大概有個印象了。基礎的使用總是非常簡單的&#xff0c;這里再分享一個常用的alert使用方法實際工作中&#xff0c;不管是日常運維還是做項目&#xff0c;我們都需要知道VM的實際…

南信大濱江學院計算機基礎,南京信息工程大學濱江學院計算機基礎期末復習知識點...

《計算機基礎》期末考試復習知識點第一章計算機基礎知識1.第一臺電子計算機的名稱、誕生時間及運算性能&#xff1b;名稱&#xff1a;電子數字積分計算機ENIAC(埃尼阿克)。誕生時間&#xff1a;1946年2月14日。運算性能&#xff1a;運算速度為每秒5000次加法。2.計算機發展四個…

nginx集群

今天看到"基于apache的tomcat負載均衡和集群配置 "這篇文章成為javaEye熱點。 略看了一下&#xff0c;感覺太復雜&#xff0c;要配置的東西太多&#xff0c;因此在這里寫出一種更簡潔的方法。 要集群tomcat主要是解決SESSION共享的問題&#xff0c;因此我利用memc…

管道過濾模式 大數據_大數據管道配方

管道過濾模式 大數據介紹 (Introduction) If you are starting with Big Data it is common to feel overwhelmed by the large number of tools, frameworks and options to choose from. In this article, I will try to summarize the ingredients and the basic recipe to …

DevOps時代,企業數字化轉型需要強大的工具鏈

伴隨時代的飛速進步&#xff0c;中國的人口紅利帶來了互聯網業務的快速發展&#xff0c;巨大的流量也帶動了技術的不斷革新&#xff0c;研發的模式也在不斷變化。傳統企業紛紛效仿互聯網的做法&#xff0c;結合DevOps進行數字化的轉型。通常提到DevOps&#xff0c;大家浮現在腦…

2018.09.21 atcoder An Invisible Hand(貪心)

傳送門 簡單貪心啊。 這題顯然跟t并沒有關系&#xff0c;取差量最大的幾組買入賣出就行了。 于是我們統計一下有幾組差量是最大的就行了。 代碼&#xff1a; #include<bits/stdc.h> #define N 100005 using namespace std; inline int read(){int ans0;char chgetchar();…

嘉應學院專插本計算機專業考綱,2015年嘉應學院漢語言文學專插本寫作大綱.pdf...

.2015 專插本基礎寫作輔導部分分為五個部分&#xff0c;共 42 道題目。 50 &#xfe6a;-60 &#xfe6a;﹙填空&#xff0c;選擇&#xff0c;判斷&#xff0c;名詞解釋&#xff0c;簡答&#xff0c;鑒賞﹚&#xff0c; 40 &#xfe6a;﹙作文﹚。1、什么是文章寫作。文章寫作是…

綠色版本Tomcat

解壓版Tomcat配置(本例Tomcat6)&#xff1a;一 配置Tomcat1 下載Tomcat Zip壓縮包&#xff0c;解壓。如果增加tomcat的用戶名和密碼&#xff0c;則修改/conf/tomcat-user.xml<?xml version1.0 encodingutf-8?><tomcat-users><role rolename"manager"…

[ BZOJ 2160 ] 拉拉隊排練

\(\\\) \(Description\) 一個由小寫字母構成的長為\(N\)的字符串&#xff0c;求前\(K\)長的奇數長度回文子串長度之積&#xff0c;對\(19930726\)取模后的答案。 \(N\in [1,10^6]\)&#xff0c;\(K\in [1,10^{12}]\)\(\\\) \(Solution\) \(Manacher\)處理出所有位置的回文半徑&…

用戶體驗可視化指南pdf_R中增強可視化的初學者指南

用戶體驗可視化指南pdfLearning to build complete visualizations in R is like any other data science skill, it’s a journey. RStudio’s ggplot2 is a useful package for telling data’s story, so if you are newer to ggplot2 and would love to develop your visua…

nodeJS 開發微信公眾號

準備測試公眾號 mp.weixin.qq.com/debug/cgi-b… 關注&#xff0c;獲取測試公眾號 內網滲透工具 natapp.cn/login 按照教程下載客戶端進行配置 后臺服務接入公眾號 有netapp 生成的映射外網IP > URL 搭建express開發環境 這個網上有教程&#xff0c;自行百度 接口配置和簽名…

單招計算機應用基礎知識考試,四川郵電職業技術學院單招計算機應用基礎考試大綱...

2021年高職單招升學一對一咨詢小藝老師:18290437291(微信)四川郵電職業技術學院單招計算機應用基礎考試大綱一、考試性質本技能考試是中等職業學校(含普通中專、職業高中、技工學校和成人中專)信息技術類專業畢業生參加四川郵電職業技術學院2016年單獨招生考試。二、考試依據1.…

linux掛載磁盤陣列

linux掛載磁盤陣列 在許多項目中&#xff0c;都會把數據存放于磁盤陣列&#xff0c;以確保數據安全或者實現負載均衡。在初始安裝數據庫系統和數據恢復時&#xff0c;都需要先掛載磁盤陣列到系統中。本文記錄一次在linux系統中掛載磁盤的操作步驟&#xff0c;以及注意事項。 此…