用python画一个简单卡通人物,Python绘制可爱的卡通人物 | 【turtle使用】
Turtle库 简介
什么是Turtle
首先,turtle库是一个点线面的简单图像库,能够完成一些比较简单的几何图像可视化。它就像一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。
Turtle库基础知识
1.画布(canvas)
画布就是turtle为我们展开用于绘图区域默认大小(400, 300),我们可以设置它的大小和初始位置。
2.画笔(pen)
2.1画笔的状态
在画布上,默认有一个坐标原点为画布中心的坐标轴,坐标原点上有一只面朝x轴正方向小乌龟。这里我们描述小乌龟时使用了两个词语:坐标原点(位置),面朝x轴正方向(方向), turtle绘图中,就是使用位置方向描述小乌龟(画笔)的状态。
2.2 画笔的属性
画笔(画笔的属性,颜色、画线的宽度等)
1) turtle.pensize():设置画笔的宽度;
2) turtle.pencolor():没有参数传入,返回当前画笔颜色,传入参数设置画笔颜色,可以是字符串如"green", "red",也可以是RGB 3元组。
3) turtle.speed(speed):设置画笔移动速度,画笔绘制的速度范围[0,10]整数,数字越大越快。
复制代码
2.3 绘图命令
操纵海龟绘图有着许多的命令,这些命令可以划分为3种:一种为运动命令,一种为画笔控制命令,还有一种是全局控制命令。
2.3.1 画笔运动命令:
命令
说明
turtle.home()
将turtle移动到起点(0,0)和向东
turtle.speed(speed)
画笔绘制的速度范围[0,10]整数
turtle.forward(distance)
向当前画笔方向移动distance像素长
turtle.backward(distance)
向当前画笔相反方向移动distance像素长度
turtle.right(degree)
顺时针移动degree°
turtle.left(degree)
逆时针移动degree°
turtle.pendown()
移动时绘制图形放下笔,,默认绘制
turtle.penup()
移动时不绘制图形,提起笔,用于另起一个地方绘制时用
turtle.circle(r,extent,step)
绘制一个指定半径、弧度范围、阶数(正多边形)的圆
turtle.dot(diameter,color)
绘制一个指定直径和颜色的圆
2.3.2 画笔控制命令:
命令
说明
turtle.pencolor()
画笔颜色
turtle.pensize(width)
画笔宽度(绘制图形时的宽度)
turtle.color(color1, color2)
同时设置pencolor=color1, fillcolor=color2
turtle.filling()
返回当前是否在填充状态
turtle.begin_fill()
准备开始填充图形
turtle.end_fill()
填充完成
turtle.hideturtle()
隐藏画笔的turtle形状
turtle.showturtle()
显示画笔的turtle形状
2.3.3 全局控制命令
命令
说明
turtle.clear()
清空turtle窗口,但是turtle的位置和状态不会改变
turtle.reset()
清空窗口,重置turtle状态为起始状态
turtle.undo()
取消最后一个图的操作
turtle.isvisible()
返回当前turtle是否可见
turtle.stamp()
复制当前图形
turtle.write(s , [font=("font-name",font_size,"font_type")])
写文本,s为文本内容,font是字体的参数,分别为字体名称,大小和类型;font为可选项,font参数也是可选项
2.2.3其他命令
命令
说明
turtle.mainloop()或turtle.done()
启动事件循环 -调用Tkinter的mainloop函数。必须是乌龟图形程序中的最后一个语句。
turtle.mode(mode=None)
设置乌龟模式(“standard”,“logo(向北或向上)”或“world()”)并执行重置。如果没有给出模式,则返回当前模式。
turtle.undo()
取消最后一个图的操作
turtle.isvisible()
返回当前turtle是否可见
turtle.stamp()
复制当前图形
turtle.write(s , [font=("font-name",font_size,"font_type")])
写文本,s为文本内容,font是字体的参数,分别为字体名称,大小和类型;font为可选项,font参数也是可选项
Turtle总结和展示
Turtle可以实现很多好玩的东西,例如我在知乎和其他地方看到别人画“小猪佩奇”,“叮当猫”,“花花草草”等,世界很大,还有很多好玩的等着我们!!!
def main():
setting() #画布、画笔设置
nose(-100,100) #鼻子
head(-69,167) #头
ears(0,160) #耳朵
eyes(0,140) #眼睛
cheek(80,10) #腮
mouth(-20,30) #嘴
body(-32,-8) #身体
hands(-56,-45) #手
foot(2,-177) #脚
tail(148,-155) #尾巴
done() #结束
复制代码
代码:https://github.com/SCUTPZW/-visualization
https://github.com/AnthonyCoder/PythonSample/tree/master/turtle
主要参考:https://www.jianshu.com/p/df81a110cdfd
//www.zhihu.com/question/275611095/answer/382959285
附带解决No Module named tkinker的问题
https://blog.csdn.net/qq_33144323/article/details/80556954
用python画一个简单卡通人物,Python绘制可爱的卡通人物 | 【turtle使用】相关推荐
- 用python画一个简单的等边三角形
用python画一个简单的等边三角形 用python画一个简单的等边三角形,源码如下: from turtle import* speed(10) bgcolor("blue") ...
- 用python画一个简单卡通人物图片_用python画一只可爱的皮卡丘实例
效果图 #!/usr/bin/env python # -*- coding:utf-8 -*- from turtle import * ''' 绘制皮卡丘头部 ''' def face(x,y): ...
- 用python画一个简单卡通人物画法_Python绘制可爱的卡通人物 | 【turtle使用】
微信公众号:AI算法与图像处理若是你以为对你有帮助,欢迎关注.转发以及点赞哦-( ̄▽ ̄-)~ Turtle库 简介 什么是Turtle 首先,turtle库是一个点线面的简单图像库,可以完成一些比较简 ...
- 用python画一个简单卡通人物图片_Python绘制可爱的卡通人物 | 【turtle使用】
Turtle库 简介 什么是Turtle 首先,turtle库是一个点线面的简单图像库,能够完成一些比较简单的几何图像可视化.它就像一个小乌龟,在一个横轴为x.纵轴为y的坐标系原点,(0,0)位置开始 ...
- 圣诞节快到了,教大家用Python画一个简单的圣诞树和烟花,送给那个她
用Python画出圣诞树和烟花,瞧瞧我这简易版的吧 序言 圣诞树 效果展示 代码展示 圣诞树上加烟花 效果展示 代码展示 写在最后 序言 这不是圣诞节快到了,准备让让女朋友开心开心,也算是亲手做的,稍 ...
- ikun必学!python 画一个简单的只因
大家好呀,我是阿潘. 现在有很多虚假的ikun 1.看似维护鸡哥,实则想吃鸡哥下的蛋 每次看到这种网络攻击,鼻子一酸,泪流不止.这个世界太不友善了,真的不知道面对那么多无端的谩骂他是怎么熬过来的.作为 ...
- 怎么用python画一个皮卡丘,用python画皮卡丘的代码
python皮卡丘编程代码 import turtledef getPosition(x, y): (x) (y) print(x, y)class Pikachu: def __init__(sel ...
- python模拟一个简单的取款机,python简单区块链模拟详解
最近学习了一点python,那就试着做一做简单的编程练习. 首先是这个编程的指导图,如下: 对的,类似一个简单区块链的模拟. 代码如下: class DaDaBlockCoin: #index 索引, ...
- 用python画一个房子_用Python动态地画一个房子
用Python动态地画一个房子 Python代码狂人 Python代码大全 用Python动态画一个房子,我们可从上向下画,先画房顶,再依次画阁楼窗户.房屋主体.屋门及主屋窗户. 运行本程序前请确保已 ...
最新文章
- C#.NET通用权限管理在DB2数据库上运行的脚本参考 - 序列创建脚本参考
- JavaScript数据类型
- C语言回调函数demo(帮助理解)以海康isapiExternDemo回调函数为例
- 嵊州D5T2 折纸 folding
- protobuf 中的嵌套消息的使用 主要对set_allocated_和mutable_的使用
- 一起学习Windows Phone7开发(十八. Windows Phone7 Toolkit)
- 由Handle转换为控件
- ES6学习笔记(四)-数值扩展
- Flutter之SnackBar原理详解
- 计蒜客-跳跃游戏(贪心)
- 190130每日一句
- https 带端口_基于scapy模块的8种端口扫描
- 大学新颖的软件测试毕业论文题目50例
- 单层感知器为什么不能解决异或(XOR)问题
- 【openpyxl】插入图表(折线图)
- php实现QQ打开跳转浏览器,【网站】 简单通用微信QQ跳转浏览器打开代码
- BFD:Bidirectional Forwarding Detection 双向转发检测
- 山大郝老师 计算机学院,相约山大 一起扬帆远航
- 野路子解决微信服务器超时会把接口重新调起n次的方法
- 论文投稿指南——中文核心期刊推荐(化学)