如何用Python画一只肥肥的柯基狗狗——turtle库绘制椭圆与弧线实践
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                如何用Python画一只肥肥的柯基狗狗——turtle库绘制椭圆与弧线实践
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.                        
                                歷時(shí)4天,利用工作之余的細(xì)碎時(shí)間, 修修改改,終于把這只丑萌的小鼓臉柯基畫(huà)了出來(lái),我也有狗啦~code的過(guò)程多坎坷,完成時(shí)就有多快樂(lè)!成果如下:
謝謝大家給我點(diǎn)了那么多贊,開(kāi)心鴨~!????(^_^)
回頭來(lái)看的小反思小心得:
- 初學(xué)turtle時(shí)所畫(huà)的這只柯基,由于對(duì)turtle中靈活強(qiáng)大的circle()函數(shù)理解和應(yīng)用不夠自如,???????自定義的畫(huà)弧函數(shù)化簡(jiǎn)為繁了。
- 繪制對(duì)象的關(guān)鍵坐標(biāo)點(diǎn)確實(shí)需要反復(fù)嘗試,在繪制這樣一幅turtle畫(huà)作時(shí),耐心是遠(yuǎn)比技術(shù)更被需要的。
繪制柯基時(shí)主要用到了以下幾種幾何圖形:
- 橢圓——柯基眼部(定義函數(shù)會(huì)更方便,這里可以進(jìn)一步完善)
- 弧線——柯基耳部、鼻部、面部(利用"一步一拐曲線繪制法"定義畫(huà)弧函數(shù))
- 圓——柯基嘴部白圈(直接利用turtle的circle() 函數(shù))
- 矩形——柯基眼睛白光塊(定義函數(shù))
- 等邊三角形——柯基鼻頭(定義函數(shù))
感興趣的小伙伴請(qǐng)自行了解一下代碼:
from turtle import * pensize(5) speed(0) ##color('#F4A460')#橘黃 ##color('#FFE4E1')#肉粉##【背景圓】 color('#B088FF')#淺紫 pu() goto(0,-200) pd() begin_fill() circle(200) end_fill()##定義畫(huà)弧函數(shù) def Arc(initial_degree,range_num,step,rotate_degree):seth(initial_degree)for n in range(range_num): fd(step)rt(rotate_degree)# ##定義填充矩形函數(shù) def Rect(x,y,height,width):pu()goto(x,y)pd()begin_fill()goto(x+width,y)goto(x+width,y+height)goto(x,y+height)goto(x,y)end_fill()##定義繪制填充等邊三角形函數(shù) def Triangle(x,y,side_length):#等邊三角形底邊左角pu()goto(x,y)pd()begin_fill()seth(0)fd(side_length)rt(120)#lt()是正立三角形fd(side_length)rt(120)#lt()是正立三角形fd(side_length)end_fill()#中軸線——輔助繪圖線 #color("green") #Rect(-200,0,1,400)#x軸 #Rect(0,-200,400,1)#y軸##【圖層1——面部輪廓】 color('#F4A460')#橘黃 #左耳 pu() goto(-83.13,-10.94) pd() begin_fill()Arc(120,145,1,1/4) goto(-30,50) end_fill()#右耳 pu() goto(83.13,-10.94)#(88.13,10.94) pd() begin_fill() Arc(60,145,1,-1/4) goto(30,50) end_fill()#腮幫 #右腮幫 pu() goto(83.13,-10.94)#0 pd() begin_fill() Arc(-35,135,1,9/11)#1 #print(pos())#下巴 #pencolor("yellow") Arc(-145,70,1,3/10)#右半下頜2 #print(pos())#pencolor("red") Arc(-175,40,1,1/5)#下巴連接線3 #print(pos())#pencolor("pink") Arc(168,70,1,3/10)#左半下頜4 #print(pos())#左腮幫 #pencolor("grey") Arc(146,135,1,9/11)#5 #print(pos())#兩耳連接 pu() goto(-30,50) Arc(15,80,1,1/2)end_fill()##【圖層2——耳部輪廓】 color('pink')#FFC0CB #左耳 pu() goto(-42,50) pd() begin_fill() Arc(-164,55,1,-7/8) Arc(120,100,1,1/3) goto(-42,50) end_fill()#右耳 pu() goto(42,50) pd() begin_fill() Arc(-16,55,1,7/8)#(81.13,15.94) #print(pos()) Arc(60,100,1,-1/3)#(104.15,111.82) #print(pos()) goto(42,50) end_fill()##【圖層3——眼部輪廓】 #左黑眼豆豆 pu() goto(-46,-8) pd() color("black") seth(180) len = 0.3 begin_fill() for k in range(2): # 雙弧繪制橢圓 for j in range(60):if j < 30:len += 0.04else:len -= 0.04fd(len)lt(3) end_fill() #左眼白光 color("white") Rect(-43,-38,6,2)#右黑眼豆豆 pu() goto(46,-8) pd() color("black") seth(180) len = 0.3 begin_fill() for k in range(2): # 將相同的動(dòng)作重復(fù)做一遍for j in range(60):if j < 30:len += 0.04else:len -= 0.04fd(len)lt(3) end_fill() #右眼白光 color("white") Rect(40,-38,6,2)##【圖層4——白鼻子輪廓】 pu() goto(10,50) pd() goto(-10,50) color("white") begin_fill() Arc(-82,140,1,1/7)#結(jié)束角度A=-82-140*1/7=-102 Arc(-112,20,1.1,-1.2)#結(jié)束角度B=-112+20*1.2=-88 #setx(-xcor()) goto(-xcor(),ycor()) seth Arc(88,20,1.1,-1.2)#求A的y軸對(duì)稱角度 Arc(102,140,1,1/7)#求8的y軸對(duì)稱角度 goto(10,50) end_fill() pd()#圓嘴 pu() goto(0,-150) seth(0) pd() begin_fill() circle(35) end_fill()#黑鼻頭 color("black") Triangle(-10,-120,20)end_fill()hideturtle() done()?
總結(jié)
以上是生活随笔為你收集整理的如何用Python画一只肥肥的柯基狗狗——turtle库绘制椭圆与弧线实践的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
 
                            
                        - 上一篇: Arduino连接GPS模块
- 下一篇: 请以平常心看这篇帖子
