Python编写万花尺图案实例


Posted in Python onJanuary 03, 2021

小的时候大家应该都玩过万花尺,将笔尖放置万花尺内不停的转动,便可以画出一幅精致的线稿图,现在我们不用万花尺,我们通过Python也能绘制出万花尺图案。

(一)代码

#!/usr/bin/python# -*- coding: UTF-8 - *-
import mathclass PTS:
def __ init __(self):
self.x = 0
self.y = 0
points = []
def LineToDemo():
from Tkinter import *
screenx = 400
screeny = 400
canvas = Canvas(width = screenx,height = screeny,bg = ‘white')

AspectRatio = 0.85
MAXPTS = 15
h = screeny
w = screenx
xcenter = w / 2
ycenter = h / 2
radius = (h - 30) / (AspectRatio * 2) - 20
step = 360 / MAXPTS
angle = 0.0
for i in range(MAXPTS):
  rads = angle * math.pi / 180.0
  p = PTS()
  p.x = xcenter + int(math.cos(rads) * radius)
  p.y = ycenter - int(math.sin(rads) * radius * AspectRatio)
  angle += step
  points.append(p)
canvas.create_oval(xcenter - radius,ycenter - radius,
          xcenter + radius,ycenter + radius)
for i in range(MAXPTS):
  for j in range(i,MAXPTS):
    canvas.create_line(points[i].x,points[i].y,points[j].x,points[j].y)

canvas.pack()
mainloop()if __name__ == '__main__':
LineToDemo()

(二)实现结果

Python编写万花尺图案实例

我们还可以通过修改不同的参数来实现不同的图案转化,大家可以多试试,做出多种不同的效果图。

到此这篇关于Python编写万花尺图案实例的文章就介绍到这了,更多相关Python之万花尺图案内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python实现数通设备tftp备份配置文件示例
Apr 02 Python
Python的Flask框架中Flask-Admin库的简单入门指引
Apr 07 Python
Python读写unicode文件的方法
Jul 10 Python
浅谈numpy数组的几种排序方式
Dec 15 Python
浅谈Python NLP入门教程
Dec 25 Python
python如何压缩新文件到已有ZIP文件
Mar 14 Python
python中的tcp示例详解
Dec 09 Python
Python字典推导式将cookie字符串转化为字典解析
Aug 10 Python
Python使用微信itchat接口实现查看自己微信的信息功能详解
Aug 22 Python
Matplotlib绘制雷达图和三维图的示例代码
Jan 07 Python
Tensorflow加载Vgg预训练模型操作
May 26 Python
全网最全python库selenium自动化使用详细教程
Jan 12 Python
Python 实现一个简单的web服务器
Jan 03 #Python
关于Python错误重试方法总结
Jan 03 #Python
详解python中的异常和文件读写
Jan 03 #Python
python绘制雷达图实例讲解
Jan 03 #Python
python 使用xlsxwriter循环向excel中插入数据和图片的操作
Jan 01 #Python
python安装mysql的依赖包mysql-python操作
Jan 01 #Python
python UDF 实现对csv批量md5加密操作
Jan 01 #Python
You might like
PHP生成图片验证码、点击切换实例
2014/06/25 PHP
推荐一本PHP程序猿都应该拜读的书
2014/12/31 PHP
PHP策略模式定义与用法示例
2017/07/27 PHP
PHP CURL实现模拟登陆并上传文件操作示例
2020/01/02 PHP
Laravel5.3+框架定义API路径取消CSRF保护方法详解
2020/04/06 PHP
Js放到HTML文件中的哪个位置有什么区别
2013/08/21 Javascript
jquery 绑定回车动作扑捉回车键触发的事件
2014/03/26 Javascript
javascript事件委托的用法及其好处简析
2016/04/04 Javascript
Javascript this 函数深入详解
2016/12/13 Javascript
Angular.js中ng-if、ng-show和ng-hide的区别介绍
2017/01/20 Javascript
jQuery中用on绑定事件时需注意的事项
2017/03/19 Javascript
php 修改密码实现代码
2017/05/24 Javascript
详解在Vue中如何使用axios跨域访问数据
2017/07/07 Javascript
如何去除vue项目中的#及其ie9兼容性
2018/01/11 Javascript
bootstrap 点击空白处popover弹出框隐藏实例
2018/01/24 Javascript
从零开始封装自己的自定义Vue组件
2018/10/09 Javascript
bootstrap table合并行数据并居中对齐效果
2018/10/17 Javascript
小程序云开发实战小结
2018/10/25 Javascript
Angular设置别名alias的方法
2018/11/08 Javascript
vue中添加与删除关键字搜索功能
2019/10/12 Javascript
python实现ipsec开权限实例
2014/11/11 Python
python3抓取中文网页的方法
2015/07/28 Python
python用模块zlib压缩与解压字符串和文件的方法
2016/12/16 Python
5款Python程序员高频使用开发工具推荐
2019/04/10 Python
python3+PyQt5 实现Rich文本的行编辑方法
2019/06/17 Python
jupyter notebook中新建cell的方法与快捷键操作
2020/04/22 Python
Python 如何测试文件是否存在
2020/07/31 Python
澳大利亚香水在线:Price Rite Mart
2017/12/28 全球购物
英国和世界各地预订便宜的酒店:LateRooms.com
2019/05/05 全球购物
汇报材料怎么写
2014/12/30 职场文书
首席执行官观后感
2015/06/03 职场文书
房屋质量投诉书
2015/07/02 职场文书
校运会宣传稿大全
2015/07/23 职场文书
2016年公务员六五普法心得体会
2016/01/21 职场文书
毕业生的自我鉴定表范文
2019/05/16 职场文书
MySql中的json_extract函数处理json字段详情
2022/06/05 MySQL