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测试驱动开发实例
Oct 08 Python
浅谈Python中的数据类型
May 05 Python
python中__call__内置函数用法实例
Jun 04 Python
在Django中使用Sitemap的方法讲解
Jul 22 Python
python 中的list和array的不同之处及转换问题
Mar 13 Python
python内存监控工具memory_profiler和guppy的用法详解
Jul 29 Python
Python使用Pandas对csv文件进行数据处理的方法
Aug 01 Python
django数据模型(Model)的字段类型解析
Dec 25 Python
python如何查看网页代码
Jun 07 Python
深入了解Python装饰器的高级用法
Aug 13 Python
python实现定时发送邮件到指定邮箱
Dec 23 Python
正确的理解和使用Django信号(Signals)
Apr 14 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
Zend Framework教程之连接数据库并执行增删查的方法(附demo源码下载)
2016/03/21 PHP
PHP中ID设置自增后不连续的原因分析及解决办法
2016/08/21 PHP
PHP文件后缀不强制为.php方法
2019/03/31 PHP
一个判断email合法性的函数[非正则]
2008/12/09 Javascript
JavaScript中valueOf函数与toString方法深入理解
2012/12/02 Javascript
JavaScript中的console.group()函数详细介绍
2014/12/29 Javascript
使用iojs的jsdom库实现同步系统时间
2015/04/20 Javascript
对于jQuery性能的一些优化建议
2015/08/13 Javascript
JS实现漂亮的窗口拖拽效果(可改变大小、最大化、最小化、关闭)
2015/10/10 Javascript
JavaScript驾驭网页-获取网页元素
2016/03/24 Javascript
Bootstrap作品展示站点实战项目2
2016/10/14 Javascript
微信小程序开发一键登录 获取session_key和openid实例
2016/11/23 Javascript
纯JS实现只能输入数字的简单代码
2017/06/21 Javascript
把JavaScript代码改成ES6语法不完全指南(分享)
2017/09/10 Javascript
JavaScript面试出现频繁的一些易错点整理
2018/03/29 Javascript
浅谈React之状态(State)
2018/09/19 Javascript
vue实现标签云效果的示例
2020/11/09 Javascript
原生JavaScript实现换肤
2021/02/19 Javascript
[59:36]2018DOTA2亚洲邀请赛 4.3 突围赛 Secret vs VG 第二场
2018/04/04 DOTA
Python tkinter模块中类继承的三种方式分析
2017/08/08 Python
Python数据结构之单链表详解
2017/09/12 Python
在Matplotlib图中插入LaTex公式实例
2020/04/17 Python
Python如何生成xml文件
2020/06/04 Python
基于注解实现 SpringBoot 接口防刷的方法
2021/03/02 Python
如何开发一款堪比APP的微信小程序(腾讯内部团队分享)
2016/12/22 HTML / CSS
HTML5调用手机摄像头拍照的实现思路及代码
2014/06/15 HTML / CSS
Ellesse英国官网:意大利高级运动品牌
2019/07/23 全球购物
Tuckernuck官网:经典的美国品质服装、鞋子和配饰
2021/01/11 全球购物
SQL Server 2000数据库的文件有哪些,分别进行描述。
2015/11/09 面试题
《罗布泊,消逝的仙湖》教学反思
2014/03/01 职场文书
2014年施工员工作总结
2014/11/18 职场文书
2014年人事工作总结范文
2014/11/19 职场文书
2015试用期转正工作总结
2014/12/12 职场文书
自荐信格式范文
2015/03/04 职场文书
承诺书的内容有哪些,怎么写?
2019/06/21 职场文书
golang 实现并发求和
2021/05/08 Golang