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 GAE、Django导出Excel的方法
Nov 24 Python
Python中super函数的用法
Nov 17 Python
Python操作mongodb数据库进行模糊查询操作示例
Jun 09 Python
Python实现的删除重复文件或图片功能示例【去重】
Apr 23 Python
python 将字符串中的数字相加求和的实现
Jul 18 Python
更新pip3与pyttsx3文字语音转换的实现方法
Aug 08 Python
在django模板中实现超链接配置
Aug 21 Python
PyQT5 emit 和 connect的用法详解
Dec 13 Python
解决导入django_filters不成功问题No module named 'django_filter'
Jul 15 Python
python实现测试工具(二)——简单的ui测试工具
Oct 19 Python
Python深度学习之实现卷积神经网络
Jun 05 Python
Pygame Rect区域位置的使用(图文)
Nov 17 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
神族 Protoss 剧情介绍
2020/03/14 星际争霸
php 多个submit提交表单 处理方法
2009/07/07 PHP
PHP错误机制知识汇总
2016/03/24 PHP
PDO::quote讲解
2019/01/29 PHP
PHP中isset、empty的用法与区别示例详解
2020/11/05 PHP
JS高级拖动技术 setCapture,releaseCapture
2011/07/31 Javascript
js Form.elements[i]的使用实例
2011/11/13 Javascript
js文件缓存之版本管理详解
2013/07/05 Javascript
JavaScript获取多个数组的交集简单实例
2013/11/11 Javascript
javascript计算当月剩余天数(天数计算器)示例代码
2014/01/09 Javascript
jQuery中width()方法用法实例
2014/12/24 Javascript
js判断登录与否并确定跳转页面的方法
2015/01/30 Javascript
JavaScript使用push方法添加一个元素到数组末尾用法实例
2015/04/06 Javascript
JQuery自适应窗口大小导航菜单附源码下载
2015/09/01 Javascript
js+canvas绘制矩形的方法
2016/01/28 Javascript
JavaScript新增样式规则(推荐)
2016/07/19 Javascript
微信小程序 Toast自定义实例详解
2017/01/20 Javascript
node中koa中间件机制详解
2017/08/22 Javascript
vue+iview写个弹框的示例代码
2017/12/05 Javascript
详解小程序不同页面之间通讯的解决方案
2018/11/23 Javascript
vue自定义js图片碎片轮播图切换效果的实现代码
2019/04/28 Javascript
[48:21]Mski vs VGJ.S Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
[03:55]TI9战队采访——TNC Predator
2019/08/22 DOTA
使用Python设置tmpfs来加速项目的教程
2015/04/17 Python
python文件与目录操作实例详解
2016/02/22 Python
python3 遍历删除特定后缀名文件的方法
2018/04/23 Python
浅析几个CSS3常用功能的写法
2014/06/05 HTML / CSS
使用 HTML5 Canvas 制作水波纹效果点击图片就会触发
2014/09/15 HTML / CSS
酒店实习个人鉴定
2013/12/07 职场文书
开学典礼主持词
2014/03/19 职场文书
个人工作主要事迹
2014/05/08 职场文书
环保标语大全
2014/06/12 职场文书
党的作风建设心得体会
2014/10/22 职场文书
被告答辩状范文
2015/05/22 职场文书
职场新人知识:如何制定一份合理的工作计划?
2019/09/11 职场文书
Python中的xlrd模块使用整理
2021/06/15 Python