python画一片绿叶给你
时间:2019-12-07
本文章向大家介绍python画一片绿叶给你 ,主要包括python画一片绿叶给你 使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
怎么用 turtle 画一个 π 字,于是我顺手到网上大致搜了下,发现网上没有画这个 π 字的,接着又用谷歌加英文搜索了下,还是没找到现成的答案。
不过通过这次搜索意外发现了一个有趣的网站,网站上有大量使用 turtle 画的各种作品,关键是画的都非常不错,更过分的是绝大多数作品还都提供了完整源码,拷贝过来就能直接用,对于练习和学习来说无疑是非常良心了。
网站还提供了分别按难度级别、主题、标签等进行分类筛选,有动画、游戏、几何知识、商标 logo 等,总之种类不少,非常适合学习。
然后我在上面简单筛选了下,发现了一个画绿叶的作品,感觉画的非常棒,我看了下源码,代码很简洁,就 30 来行代码,下面我贴出完整的源码,大家把代码拷贝过去新建一个 python 文件就能跑起来。
import turtle import random screen = turtle.Screen() screen.title('Barnsley\'s Fern Chaos Game with Python Turtle') screen.setup(1000,1000) screen.setworldcoordinates(-6,-1,6,11) screen.tracer(0,0) turtle.hideturtle() turtle.speed(0) turtle.up() n = 100000 # number of points to draw p = (0,0) t = turtle.Turtle() t.up() t.hideturtle() for i in range(n): t.goto(p) t.dot(2,'green') r = random.uniform(0,1) if r < 0.01: p = (0,0.16*p[1]) elif r < 0.86: p = (0.85*p[0] + 0.04*p[1], -0.04*p[0] + 0.85*p[1] + 1.6) elif r < 0.93: p = (0.2*p[0] - 0.26*p[1], 0.23*p[0] + 0.22*p[1] + 1.6) else: p = (-0.15*p[0] + 0.28*p[1], 0.26*p[0] + 0.24*p[1] + 0.44) if i % 1000 == 0: # update for every 1000 moves, this part is for performance reason only t = turtle.Turtle() # use new turutle t.up() t.hideturtle() screen.update()
下面再放一张在我自己电脑上运行的截图,一片小绿叶。
对了,顺便给个小建议,大家在搜索的时候,如果使用中文搜不到想要的结果,强烈建议使用英文搜索试试,尤其是程序代码相关的,你总会有意外的收获,比如我今天这篇文章,就是一个意外。
原文地址:https://www.cnblogs.com/7758520lzy/p/12001449.html
- 入门:构建简单的Web API
- WordPress 编辑器快捷键——让写作来得更方便些吧!
- ASP.NET Web API: 宿主(Hosting)
- 在 Windows Phone上使用QQConnect OAuth2
- WordPress 开发之使用WordPress 3.8+后台图标(dashicons)
- 基础(二)
- Ionic:高级的 HTML5 移动APP(Web App)开发框架
- 为WordPress 评论框添加HTML5 表单验证
- Sass 基础(一)
- 送上段模拟圣诞节下雪的javascript 代码
- 互联网:解开大脑之迷
- NEC 框架规范 template media
- NEC 框架规范 animation
- NEC 框架规范 css function
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 通过cycler实现属性的自动映射
- 为你的图片添加图例
- matplotlib中的黑魔法:constrained和tight layout
- 用不同的坐标系统对图形元素进行定位
- 对《丢鸡蛋问题》的一点补充
- HA(高可用)就像套娃,像胖子,剥掉一层还有一层
- 《丢鸡蛋问题》重制版来袭~
- 如何搭建一个完美的组件库?
- 架构师的初级技能,选组件!(2020更新版,非广告)
- 半天掌握TypeScript,感觉就像写Java
- PyTorch中神经网络的对抗性攻击和防御
- 了解 Swift 的 Result 类型
- Java自动化测试(特殊元素处理 26)
- Java自动化测试(web自动化测试框架 28)
- 你想要拥有自己的搜索引擎吗?