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 正则式 概述及常用字符
May 07 Python
简单文件操作python 修改文件指定行的方法
May 15 Python
Python3里的super()和__class__使用介绍
Apr 23 Python
Python psutil模块简单使用实例
Apr 28 Python
理解生产者消费者模型及在Python编程中的运用实例
Jun 26 Python
用python统计代码行的示例(包括空行和注释)
Jul 24 Python
python使用xlrd模块读取xlsx文件中的ip方法
Jan 11 Python
python使用for循环计算0-100的整数的和方法
Feb 01 Python
django之状态保持-使用redis存储session的例子
Jul 28 Python
Python cookie的保存与读取、SSL讲解
Feb 17 Python
Pytorch中的自动求梯度机制和Variable类实例
Feb 29 Python
Python -m参数原理及使用方法解析
Aug 21 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
dede3.1分页文字采集过滤规则详说(图文教程)续四
2007/04/03 PHP
php简单实现快速排序的方法
2015/04/04 PHP
php常用图片处理类
2016/03/16 PHP
PHP按一定比例压缩图片的方法
2018/10/12 PHP
JavaScript中document.forms[0]与getElementByName区别
2015/01/21 Javascript
JS+CSS实现鼠标滑过时动态翻滚的导航条效果
2015/09/24 Javascript
javascript+HTML5自定义元素播放焦点图动画
2016/02/21 Javascript
js一维数组、多维数组和对象的混合使用方法
2016/04/03 Javascript
jstl中判断list中是否包含某个值的简单方法
2016/10/14 Javascript
详解JS中定时器setInterval和setTImeout的this指向问题
2017/01/06 Javascript
Node.js websocket使用socket.io库实现实时聊天室
2017/02/20 Javascript
使用jQuery操作DOM的方法小结
2017/02/27 Javascript
解决在Bootstrap模糊框中使用WebUploader的问题
2018/03/22 Javascript
jquery实现搜索框功能实例详解
2018/07/23 jQuery
JavaScript设计模式之模板方法模式原理与用法示例
2018/08/07 Javascript
vuex2中使用mapGetters/mapActions报错的解决方法
2018/10/20 Javascript
深入理解Puppeteer的入门教程和实践
2019/03/05 Javascript
Vue中qs插件的使用详解
2020/02/07 Javascript
vue+canvas实现移动端手写签名
2020/05/21 Javascript
Vue中keep-alive组件的深入理解
2020/08/23 Javascript
python实现比较文件内容异同
2018/06/22 Python
Python小工具之消耗系统指定大小内存的方法
2018/12/03 Python
Python字符串和正则表达式中的反斜杠('\')问题详解
2019/09/03 Python
tensorflow之并行读入数据详解
2020/02/05 Python
tensorflow 获取checkpoint中的变量列表实例
2020/02/11 Python
Python多线程通信queue队列用法实例分析
2020/03/24 Python
python使用多线程+socket实现端口扫描
2020/05/28 Python
Python日志打印里logging.getLogger源码分析详解
2021/01/17 Python
原装进口全世界:天猫国际
2016/08/03 全球购物
戴尔美国官方折扣店:Dell Outlet
2018/02/13 全球购物
英国领先的隐形眼镜在线供应商:Lenstore.co.uk
2019/11/24 全球购物
Nasty Gal英国:美国女性服饰销售网站
2021/03/02 全球购物
法制宣传教育方案
2014/05/09 职场文书
机关党员四风问题个人整改措施
2014/10/26 职场文书
少先大队干部竞选稿
2015/11/20 职场文书
2019消防宣传标语!
2019/07/10 职场文书