学习了一下turtle库的基本函数,试着画了一只大耳朵小兔子,灵感来源是jellycat邦尼兔。turtle库中circle()函数用来画弧,但和通常先确定原点,再根据半径、夹角画弧的方法有所不同。使用之后,便能理解circle()函数的巧妙。收获是:边想边做边改胜过完美的空想。

绘制效果如图 :

在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为负时,逆画笔当前方向绘制。

circle()函数可以以画笔当前位置为切点,画出与(画笔当前方向所在直线为)切线相切的任意圆弧。所以在绘制曲线时十分自由好用。

抛下用圆规先确定圆心再画圆的惯常思维,慢慢使用便能理解circle()函数的巧妙。

以上为个人的学习理解,初识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画小兔子_circle()函数实例教程:用Python画一只兔子相关推荐

  1. 用python turtle画椭圆_circle()函数实例教程:用Python画一只兔子

    学习了一下turtle库的基本函数,试着画了一只大耳朵小兔子,灵感来源是jellycat邦尼兔.turtle库中circle()函数用来画弧,但和通常先确定原点,再根据半径.夹角画弧的方法有所不同.使 ...

  2. python安卓app开发_[实例教程] 用python开发android应用

    Python是动态语言,比较简洁.Android不直接支持使用python开发应用,需要使用其它中间件或者库.PythonForAndroid提供了在android平台上对python语言的支持:CL ...

  3. 如何用python画函数图像_使用python的pyplot绘制函数实例

    简介 本文主要介绍如何通过pyplot来绘制函数图.主要绘制函数如下: - 一元一次函数 - 一元二次函数 - 指数函数 - 自然对数函数 - 正弦函数 一元一次函数 代码 import matplo ...

  4. 利用python随机生成姓名的实例教程

    本篇文章主要讲解:利用python随机生成姓名的实例教程 作者:任聪聪 整体思路 在我们生成姓名的时候,一般我们要考虑的是姓名的组合构成,姓+名,姓是固定的,名是随机的,故此我们可以通过随机调用常用汉 ...

  5. php mysql affected_PHP mysql_affected_rows()函数实例教程

    PHP mysql_affected_rows()函数实例教程 定义和用法 该mysql_affected_rows ( )函数返回一些受影响的行前MySQL操作. 这个函数返回一些受影响的行的成功, ...

  6. VC++使用画刷绘图 简单画刷 FillRect函数 位图画刷 透明画刷

    目录 使用画刷绘图 简单画刷 FillRect函数 位图画刷 透明画刷 接上:VC++ 利用MFC的CWindowDC类实现画线功能 在桌面窗口中画线 绘制彩色线条 CPen nPenStyle nW ...

  7. python编写poc_分享使用python编写poc,exp的实例教程

    在很久很久以,我有一个梦想 但是,后来我发现我的梦想渐渐没有了 于是,昨天我思考了一晚上 觉得我应该有个梦想的! 好了,回到正题.正所谓明人不装暗逼,今天我家开通了公网ip我开森啊,很开森的那种! 额 ...

  8. python程序实例教程基础-Python程序设计实例教程

    图书简介 配套资源:电子课件,习题答案,教学大纲,源代码 本书特色: ★本书共14个项目,主要包括Python编程基础.网络爬虫.数据分析和数据可视化四大部分内容. ★全部代码适用于Python 3. ...

  9. python程序实例教程基础-python基础教程第三版源代码

    [实例简介] python基础教程第三版源代码 python基础教程第三版源代码 [实例截图] [核心代码] Beginning_Python_version3_SourceCode └── Begi ...

最新文章

  1. 《深入解析Android 虚拟机》——第1章,第1.3节编译Android源码
  2. [裴礼文数学分析中的典型问题与方法习题参考解答]4.3.15
  3. Hive注册表那点事(5.0 VS 6.0)
  4. 汇编:采用顺序编程方法,实现在屏幕上显示大写字幕A
  5. NFS服务的端口分配
  6. 窄脉冲matlab实现,[求助]如何获得与50Hz工频同步的窄脉冲信号
  7. x5cloud云平台---------------网络彩讯
  8. shell脚本中比较、运算以及格式
  9. Arkeia Software宣布支持第100个Linux平台
  10. L298电机驱动设计(含原理图)
  11. simotion基本功能手册_深入浅出西门子运动控制器——SIMOTION实用手册(1CD)
  12. Java设计模式--生成器模式
  13. Ubuntu 突然不然联网解决方法
  14. 光分配网(ODN)一级分光和二级分光的区别及应用场景
  15. 零基础学习大数据难不难?小白如何上手大数据?
  16. vue导出excel加一个进度条_vue纯前端导出excel表格
  17. org.apache.flume.conf.ConfigurationException: Channel c1 not in active set.
  18. ssh远程No route to host问题解决
  19. 电脑使用DP线连接显示器,插在显示器音频口的音响没有声音解决办法
  20. c++ 求x的n次方

热门文章

  1. ipad能看java吗,你可以在iPad上自动播放HTML5视频吗?
  2. 英语日常用语900句(1)
  3. 用JS轻松实现一个录音、录像、录屏的工具库
  4. 地球上的模型,避免破面现象,需要加参考点
  5. 服务器系统刂金苹果-下拉靠谱,百度快速排名礻金苹果实力刂:奶牛镇的小时光花菇喜欢什么 花菇好感度怎么加...
  6. Qt 使用Poppler实现pdf阅读器
  7. 全军出击莫名消失,竟是为新游使命召唤做铺垫?天美这边操作你怎么看
  8. centos7 防火墙(关闭、开启、开机关闭、开机自启等)
  9. Visio Studio Code 图标美化
  10. 游凤椿简介_微盟联合创始人兼微盟集团总裁