使用Python的turtle库实现六角形以及正方形螺旋线的绘制
1.六角形的绘制
思路:一个六角形可以看作是两个等边三角形具有共同的中心且垂线互成60°角。所以只需实现一个等边三角形的绘制以及第二个三角形绘制起点的移动即可。
代码如下:
import turtle
turtle.setup(650,350,200,200)
turtle.penup()
turtle.pensize(1)
turtle.pencolor("red")
turtle.fd(100)
turtle.seth(30)
turtle.pendown()
turtle.fd(80)
turtle.seth(-90)
turtle.fd(80)
turtle.seth(150)
turtle.fd(80) //第一个三角形绘制完成
turtle.penup() //将画笔抬起,此时任何画笔操作都不会绘制出来
turtle.seth(30)
turtle.fd(80/3)
turtle.seth(90)
turtle.fd(80/3) //调整第二个三角形的绘制起点
turtle.pendown() //将画笔放下,绘制接下来的画笔移动路径
turtle.seth(-30)
turtle.fd(80)
turtle.seth(-150)
turtle.fd(80)
turtle.seth(90)
turtle.fd(80)
绘制结果:
2.正方形螺旋线的绘制
思路:每画四条线作为一个循环,根据设置的边长来设置循环次数(循环次数应为设置的边长的四分之一)
import turtle
turtle.setup(1000,1000,0,0)
turtle.pensize(1)
turtle.pencolor("violet")
turtle.speed(0)
turtle.penup()
turtle.fd(-250)
turtle.seth(-90)
turtle.fd(250) //设置绘制起点
turtle.pendown()
x = 100 //正方形初始边长
for i in range(25):
turtle.seth(90)
turtle.fd(x)
turtle.seth(0)
turtle.fd(x)
turtle.seth(-90)
turtle.fd(x-2) //每次绘制边长比前一次少2
turtle.seth(180)
turtle.fd(x-2)
x = x-4
绘制结果:

使用Python的turtle库实现六角形以及正方形螺旋线的绘制的更多相关文章
- Python使用turtle库与random库绘制雪花
记录Python使用turtle库与random库绘制雪花,代码非常容易理解,画着玩玩还是可以的. 完整代码如下: 效果图如下:
- Python之turtle库-小猪佩奇
Python之turtle库-小猪佩奇 #!/usr/bin/env python # coding: utf-8 # Python turtle库官方文档:https://docs.python.o ...
- Python中turtle库的使用
Turtle图形库 Turtle库是Python内置的图形化模块,属于标准库之一,位于Python安装目录的lib文件夹下,常用函数有以下几种: 画笔控制函数 penup():抬起画笔: pendow ...
- python使用turtle库绘制奥运五环
效果图: #奥运五环 import turtle turtle.setup(1.0,1.0) #设置窗口大小 turtle.title("奥运五环") #蓝圆 turtle.pen ...
- 第四章 python的turtle库的运用
我们可以尝试用python的自带turtle库绘制一条蟒蛇 首先我们设计一下蟒蛇的基本形状 我们先把这段蟒蛇绘制的实例代码贴出来,各位可以在自己的本地运行一下看看效果,然后我们再继续分析代码: 1 # ...
- 使用Python的turtle库实现七段数码管绘制
七段数码管绘制:七段数码管是由7段数码管拼接而成,每段有亮或不亮两种情况,改进的七段数码管还包括一个小数点位置.七段数码管能形成2=128种状态,其中部分状态能够显示易于人们理解的数字或字母含义.因此 ...
- Python:turtle库的使用及图形绘制
目录 一.绘制一个八边形 二.绘制一个八角图形 三.简述问题 四.循环程序设计 五.绘制一个自己喜欢的图形 一.绘制一个八边形 使用turtle库,绘制一个八边形 代码: from turtle im ...
- turtle库应用实例2-六芒星的绘制
六芒星的绘制 ...
- Python之turtle库
在命令行下```python -m pip install turtle``` 大致有两种命令: 运动命令: forward(distance) #向前移动距离distance代表距离 backwar ...
随机推荐
- 解决在manjaro下,vscode无法将chrome作为默认浏览器打开
Same issue. The solution is simple. Find the name of the exec command, for google chrome in arch lin ...
- 在CentOS 7中 使用 Nginx 反代 .Net Core
很久没弄 .Net Core 了,然后忽然发现Windows自带的 Hyper-V 虚拟机貌似挺好用的 .Net Core 之前都是用 Jexus 来做服务器,忽然想用下Nginx来试试 1.在 Ce ...
- Javaspring+mybit+maven中实现定时任务
背景:在Javaspring中,定时的启动某一个任务时,使用@Scheduled来实现 Javaspring工程创建好之后,直接创建下面的class文件即可.具体的用法可参照 https://www. ...
- linux 环境搭建
1.安装jdk 上传tar包,解压缩 vim /etc/profile JAVA_HOME=/usr/local/jdk1.8.0_152CLASSPATH=$JAVA_HOME/lib/PATH=$ ...
- 13 JSP、MVC开发模式、EL表达式和JSPL标签+软件设计架构---学习笔记
1.JSP (1)JSP概念:Java Server Pages 即java服务器端页面可以理解为:一个特殊的页面,其中既可以指定定义html标签,又可以定义java代码用于简化书写!!! (2)原理 ...
- react-native-typescript-项目环境搭建
1.yarn global add create-react-native-app //全局安装 2.create-react-native-app 项目名称 3.yarn add typescrip ...
- BZOJ3791 作业(DP)
题意: 给出一个长度为n的01序列: 你可以进行K次操作,操作有两种: 1.将一个区间的所有1作业写对,并且将0作业写错: 2.将一个区间的所有0作业写对,并且将1作业写错: 求K次操作后最多写对了多 ...
- MongoDB初始化创建管理员账户登录
1.查看mongodb服务是否开启: ps -ef | grep mongod 2.管理员角色必须在启用--auth认证参数之前创建,否则会没有操作权限.如果之前已经创建过用户,请先删除. kill掉 ...
- memcached源码分析二-lru
在前一篇文章中介绍了memcached中的内存管理策略slab,那么需要缓存的数据是如何使用slab的呢? 1. 缓存对象item内存分布 在memcached,每一个缓存的对象都使用一个ite ...
- Java身份证处理工具
身份证处理工具 /** * <html> * <body> * <P> Copyright 1994 JsonInternational</p> * & ...