python turtle 绘制太极图的实例
作者:pmwhywl 时间:2022-12-31 13:15:12
效果如下所示:
# -*- coding: utf-8 -*-
import turtle
# 绘制太极图函数
def draw_TJT(R):
turtle.screensize(800, 600, "green") # 画布长、宽、背景色 长宽单位为像素
turtle.pensize(1) # 画笔宽度
turtle.pencolor('black') # 画笔颜色
turtle.speed(10) # 画笔移动速度
TJT_color = {1: 'white', -1: 'black'} # 太极图填充色 1 白色 -1 黑色
color_list = [1, -1]
"""
先画半边,再画另一边
"""
for c in color_list:
turtle.fillcolor(TJT_color.get(c)) # 获取该半边的填充色
turtle.begin_fill() # 开始填充
# 开始画出半边的轮廓
turtle.circle(R / 2, 180)
turtle.circle(R, 180)
turtle.circle(R/2, -180)
turtle.end_fill() # 结束填充 上色完成
# 绘制该半边的鱼眼
turtle.penup() # 提起画笔,移动不留痕
turtle.goto(0, R/3*c) # 移动到该半边的鱼眼的圆上 R/3*c 表示移动到哪边
turtle.pendown() # 放下画笔,移动留痕
turtle.fillcolor(TJT_color.get(-c)) # 获取鱼眼填充色, 与该半边相反
turtle.begin_fill()
turtle.circle(-R/6, 360)
turtle.end_fill()
# 回到原点,为下一循环的开始做准备
turtle.penup()
turtle.goto(0, 0)
turtle.pendown()
# 绘制文本
turtle.penup()
turtle.goto(0, -R-50)
turtle.pendown()
turtle.write("太极图 made by kjshen", font=('Arial', 12, 'normal'))
if __name__ == '__main__':
R=100 # 太极图半径
draw_TJT(R)
raw_input('Press Enter to exit...') # 防止程序运行完成后就自动关闭窗口
来源:https://blog.csdn.net/pmwhywl/article/details/79724143
标签:python,turtle,太极图
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
python变量赋值方法(可变与不可变)
2021-02-14 08:51:55
![](https://img.aspxhome.com/file/2023/9/69559_0s.jpg)
Python中的pygal安装和绘制直方图代码分享
2021-11-18 15:09:50
![](https://img.aspxhome.com/file/2023/9/87479_0s.png)
flash 挡住层的解决方法
2022-09-01 17:24:39
python为Django项目上的每个应用程序创建不同的自定义404页面(最佳答案)
2022-07-26 19:08:11
Python Socket TCP双端聊天功能实现过程详解
2022-03-13 02:25:44
Python实现的读取电脑硬件信息功能示例
2023-05-13 21:36:03
python线程池ThreadPoolExecutor,传单个参数和多个参数方式
2022-01-20 19:49:45
Python图像处理之几何变换
2021-05-05 12:46:39
![](https://img.aspxhome.com/file/2023/0/131560_0s.png)
SQLServer 清理日志的实现
2024-01-27 12:41:21
![](https://img.aspxhome.com/file/2023/5/104085_0s.png)
教你快速掌握如何向MySQL的表中录入数据
2008-11-27 16:45:00
python图片水印加密的几种处理小结
2023-12-26 16:23:37
SQL Server2000的安全策略
2007-08-06 17:14:00
pandas 数据实现行间计算的方法
2021-07-21 06:00:40
python3使用SMTP发送简单文本邮件
2023-09-28 10:07:24
![](https://img.aspxhome.com/file/2023/0/109430_0s.jpg)
Sql Server 2012 分页方法分析(offset and fetch)
2012-10-07 10:51:04
python 实现UTC时间加减的方法
2023-08-06 15:35:42
python Jupyter运行时间实例过程解析
2022-04-15 04:38:21
MySQL教程:Group By用法
2009-02-26 15:27:00
vue2/vue3路由权限管理的方法实例
2024-05-29 22:28:54
Golang实现短网址/短链服务的开发笔记分享
2024-02-08 15:37:18