python樱花_用Python画樱花?想得美就能画得美(上)
前段时间疯传的武大学生用Python代码画出樱花,暗藏“武汉加油”,好感人的。
不过他们的代码并不是“画”樱花,而是剪辑一段樱花的视频,把其中的像素替换为“武汉加油”的字样。
今天我教你实实在在地用Python画画。
先看一个最简单又好玩的:五行代码画一个方形的螺旋线。画出来的图是这样的:
下面是简单的五行代码,你只要懂这几个英文单词,保管看得懂:turtle —— 小海龟,在沙滩上画画的小能手
length —— 长度,划线的长度
right —— 向右转!
forward —— 前进!
done —— 完成!
import turtle
for length in range(5,5*31,5): # 画30个线段,每个线段比前一个长度加5
turtle.right(90) # 右转90度
turtle.forward(length) #
turtle.done( )
怎么样,超级简单易懂吧?
Python就是这样好玩又简单。你要是学C语言的话,也许整本书教完了还没教你画图呢。
你可能会说这个图太简单了。想画实用漂亮一些的图?那画朵玫瑰怎么样啊?这个可能要手绘了。
代码比较长,一点一点画的,所以放后面附录了,这里直接看效果:Python手绘玫瑰效果演示https://www.zhihu.com/video/1233988975486377984
附录中的代码,虽然很长,但你完全能看懂每一句话。你可能会注意到,源代码全文主要也就是这样一句话在反复念叨:
turtle.circle(a, b)
这句话的意思就是:请海龟画圆弧,画半径为a、夹角为b那么大(如下图所示)。很自然好懂吧?玫瑰花的大部分线条,都是这样,用一段一段的弧线拼接起来的而已。
我们的自然学习法,就是这样子精选好玩的程序,让你在有趣的代码阅读中就完成学习的。
动手练习:把本文的两个程序分别复制到你的编程平台上(例如IDLE或Pycharm),运行无误。
按第一个程序的思想,画一个正六边形(提示:每次转60度)。
对第二个程序进行调整,画一朵黄玫瑰,并且让枝条细一点。
到此为止我们只画了玫瑰,还没画樱花。
原则上,用类似的方法(弧线拼接),你可以画任何你喜欢的花。但是这个每一步弧线大小的设定和调整是很麻烦的,而且跟手画一样,你必须要有艺术天分才能画好呢。
如果你有艺术底子,你就可以继续朝这个方向走,也许你能同样画出很好看的别的花花草草来,比如樱花 或圣诞树 。但下一篇我们将用美丽的数学方法来画樱花,也可以很艳丽的喔。
这里是《简单又好玩的Python》,欢迎关注。
(注:为了简单易懂,本文的代码在语法上不是最完美的,下一篇我们继续做其它画图示例时,将使用更严谨的语法。)
附:手绘玫瑰源代码
# https://blog.csdn.net/zaq0123/article/details/78573186
# 原作:QiZhao,完善:HenryJ
import turtle
# 设置初始位置
turtle.penup() # 抬笔(移动过程不画线)
turtle.left(90) # 左转90度
turtle.fd(200) # 前进200点(fd=forward)
turtle.pendown() # 落笔,准备画画
turtle.right(90) # 右转90度
# 花蕊
turtle.fillcolor("red") # 准备填充色为“红色”
turtle.begin_fill() # 开始填充封闭空间
turtle.circle(10, 180) # 画弧,半径10,180度角
turtle.circle(25, 110) # 画弧,半径25,110度角
turtle.left(50) # 左转50度
turtle.circle(60, 45) # 以下注释略
turtle.circle(20, 170)
turtle.right(24)
turtle.fd(30)
turtle.left(10)
turtle.circle(30, 110)
turtle.fd(20)
turtle.left(40)
turtle.circle(90, 70)
turtle.circle(30, 150)
turtle.right(30)
turtle.fd(15)
turtle.circle(80, 90)
turtle.left(15)
turtle.fd(45)
turtle.right(165)
turtle.fd(20)
turtle.left(155)
turtle.circle(150, 80)
turtle.left(50)
turtle.circle(150, 90)
turtle.end_fill()
# 花瓣1
turtle.left(150)
turtle.circle(-90, 70)
turtle.left(20)
turtle.circle(75, 105)
turtle.setheading(60)
turtle.circle(80, 98)
turtle.circle(-90, 40)
# 花瓣2
turtle.left(180)
turtle.circle(90, 40)
turtle.circle(-80, 98)
turtle.setheading(-83)
# 叶子1
turtle.pensize(2)
turtle.fd(30)
turtle.left(90)
turtle.fd(25)
turtle.left(45)
turtle.fillcolor("green")
turtle.begin_fill()
turtle.circle(-80, 90)
turtle.right(90)
turtle.circle(-80, 90)
turtle.end_fill()
turtle.right(135)
turtle.fd(60)
turtle.left(180)
turtle.fd(85)
turtle.left(90)
turtle.fd(80)
# 叶子2
turtle.right(90)
turtle.right(45)
turtle.fillcolor("green")
turtle.begin_fill()
turtle.circle(80, 90)
turtle.left(90)
turtle.circle(80, 90)
turtle.end_fill()
turtle.left(135)
turtle.fd(60)
turtle.left(180)
turtle.fd(60)
turtle.right(90)
turtle.circle(200, 60)
turtle.hideturtle()
turtle.done()
Python自然学习法全部源代码网址:
python樱花_用Python画樱花?想得美就能画得美(上)相关推荐
- 第一章 第一节:Python基础_认识Python
Python基础入门(全套保姆级教程) 第一章 第一节:Python基础_认识Python 1. 什么是编程 通俗易懂,编程就是用代码编写程序,编写程序有很多种办法,像c语言,javaPython语言 ...
- python设计樱花_用Python画樱花?想得美就能画得美(上)
前段时间疯传的武大学生用Python代码画出樱花,暗藏"武汉加油",好感人的. 不过他们的代码并不是"画"樱花,而是剪辑一段樱花的视频,把其中的像素替换为&qu ...
- 用python画动态樱花_利用python画一棵漂亮的樱花树,turtle画图代码大全,此处感谢知乎大佬小白...
利用python画一棵漂亮的樱花树,turtle画图代码大全,此处感谢知乎大佬小白 此处感谢知乎大佬 小白练手 练习一下比较流行的turtle(海龟库) 画一棵漂亮的樱花树,效果如下: ps: 是动态 ...
- 绘制图形可以使用什么python数据库_使用python图形模块turtle库绘制樱花、玫瑰、圣诞树代码实例...
今天为大家介绍几个Python"装逼"实例代码,python绘制樱花.玫瑰.圣诞树代码实例,主要使用了turtle库 Python绘制樱花代码实例 动态生成樱花 效果图(这个是动态 ...
- python忠告_学习Python一段时间,老司机给上路新手的3点忠告!
在你学习编程的过程中,是否有过以下经历,或正在面临类似的局面:网上找了很多资料,不知道从哪里看起 买了本书,过了很久也没有看完第一章 开始还能跟着写几行代码,后来突然就看不懂了 也看了些教程和视频,似 ...
- python 字符识别_使用python进行光学字符识别入门
python 字符识别 语言模型设计 (Language Model Designing) Optical Character Recognition is the conversion of 2-D ...
- 类的继承python事例_【Python五篇慢慢弹(5)】类的继承案例解析,python相关知识延伸...
作者:白宁超 2016年10月10日22:36:57 摘要:继一文之后,笔者又将python官方文档认真学习下.官方给出的pythondoc入门资料包含了基本要点.本文是对文档常用核心要点进行梳理,简 ...
- java python算法_用Python,Java和C ++示例解释的排序算法
java python算法 什么是排序算法? (What is a Sorting Algorithm?) Sorting algorithms are a set of instructions t ...
- python计算机_基础python计算机知识
1.计算机基础知识 计算机基础 :组成---输入输出设备 储存器 CPU 内存 cpu 中央处理器 :处理各种数据的 内存 存储数据 硬盘 存储数据的 什么是操作系统:控制计算机的工作流程 软件 什么 ...
最新文章
- 微软小冰作词又作曲,网友:要出道的节奏吗?
- ArcGIS License Manager 更新
- 没有连接上aspnetdb.mdf数据库
- 通信网络安全分层及关键技术解决
- deepin中zz_如何解决R中的FizzBu​​zz问题
- java面试题:集合_Java:选择正确的集合
- 如何截获打印机文件_打印、复印还不会,如何在办公室里混?全程详细教学
- NeurIPS 2021 | 视频分类鲁棒性新基准
- 长短期记忆网络_科研成果快报第181期:改进的长短期记忆网络用于长江上游干支流径流预测...
- 施耐德SoMachine Basic中存在高危漏洞(CVE-2018-7783),可读取目标系统上的任意文件...
- 数据去重-----VBA字典法
- 图灵——如迷的解谜者
- 携程校招2017编程题之股票最大利润
- Linux:CPU频率调节模式以及降频方法简介
- 名帖148 行书《兰亭八柱帖》第六册:于敏中补戏鸿堂刻柳公权书兰亭诗阙笔册
- Python_FontTools使用
- 大数据破解污染图谱 北风与雾霾啥关系
- cmd启动MySQL
- python vba excel课程_【Python3+VBA】在Excel中生成小姐姐|python3教程|python入门|python教程...
- C#调用Delphi开发的DLL报内存写保护的错误信息