周末进修了一下turtle库的基础函数,试着画了一只大耳朵小兔子,灵感泉源是jellycat邦尼兔。turtle库中circle()函数用来画弧,但和一般先肯定原点,再依据半径、夹角画弧的要领有所不同。运用以后,便能明白circle()函数的奇妙。收成是:边想边做边改赛过圆满的幻想。类别:Python / 日期:2019-12-02 / 浏览:96 / 评论:0
绘制结果如图 :
在circle(radius,extent)函数中,参数radius取像素值、extent取角度的整数值,两参数均可取正负值。运转以下代码,能够直观地明白circle(radius,extent)函数参数正负值时的绘制特性:
from turtle import * pensize(5) pencolor('green') circle(100,90) pu() goto(0,0) seth(0) pd() pencolor('orange') circle(100,-90) pu() goto(0,0) seth(0) pd() pencolor('blue') circle(-100,90) pu() goto(0,0) seth(0) pd() pencolor('red') circle(-100,-90)
circle()函数以画笔当前方向(y')为y轴方向,以经由画笔当前相对坐标(x0,假定y0=0)、垂直于y轴的方向为x轴方向,则圆心(即原点)坐标为(x0-radius=0,0),由当前画笔位置(x0,y0)为弧线起始点,画出extent角度的圆弧。为了轻易明白,我绘制了circle()函数的相对坐标系统,如下图。须要注重的是:radius为正时,圆心在当前位置左边(如下图);radius为负时,圆心在当前位置右边;extent为正时,顺画笔当前方向绘制,extent为负时,逆画笔当前方向绘制。
以上为个人的进修明白,初识turtle,不当之处迎接斧正。
#绘制大耳朵兔 from turtle import * speed(10) #小兔的脸部 color('pink') pensize(5) circle(radius=100)#脸 #眼睛 pencolor('black') #左眼 pu() goto(-45,92) pd() begin_fill() color((0,0,0),(0,0,0.1)) circle(radius=15) #右眼 pu() goto(45,92) pd() circle(radius=15) end_fill() #鼻子 pu() goto(20,60) color('pink') pd() begin_fill() goto(-20,60) goto(0,45) goto(20,60) end_fill() #嘴 goto(0,45) goto(0,40) seth(-90) circle(10,120) pu() goto(0,40) seth(-90) pd() circle(-10,120) #小兔的耳朵 #左耳 pu() goto(-60,180)# seth(200) pd() circle(radius=350,extent=90) goto(-98,110) #右耳 pu() goto(60,180)# seth(-20) pd() circle(radius=-350,extent=90) goto(98,110) #小兔的身材 pu() goto(20,3) seth(-25) pd() circle(radius=-250,extent=25) circle(radius=-135,extent=260) seth(50) circle(radius=-250,extent=25) ##小兔的胳膊 #左臂 pu() seth(180) goto(-30,-3) pd() #小短胳膊 ##circle(radius=270,extent=20) ##circle(radius=20,extent=190) circle(radius=248,extent=30) circle(radius=29,extent=185) #右臂 pu() seth(0) goto(30,-3) pd() circle(radius=-248,extent=30) circle(radius=-27,extent=184) ##小兔的脚 ##左脚 pu() goto(-162,-260)# pd() seth(0) circle(radius=41) #右脚 pu() goto(164,-260) pd() circle(radius=41) done()
以上就是如何用Python画一只兔子——turtle库circle()画圆函数的细致用法引见的细致内容,更多请关注ki4网别的相干文章!
发表评论 / 取消回复