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学习笔记(二)基础语法
Jun 06 Python
python执行等待程序直到第二天零点的方法
Apr 23 Python
python生成式的send()方法(详解)
May 08 Python
python之Character string(实例讲解)
Sep 25 Python
python距离测量的方法
Mar 06 Python
对Python中实现两个数的值交换的集中方法详解
Jan 11 Python
PyQt5实现简易电子词典
Jun 25 Python
python常用库之NumPy和sklearn入门
Jul 11 Python
django Admin文档生成器使用详解
Jul 22 Python
使用pycharm在本地开发并实时同步到服务器
Aug 02 Python
Tensorflow--取tensorf指定列的操作方式
Jun 30 Python
Python创建SQL数据库流程逐步讲解
Sep 23 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支持多种格式图片上传(支持jpg、png、gif)
2011/11/03 PHP
php操作(删除,提取,增加)zip文件方法详解
2015/03/12 PHP
购物车实现的几种方式优缺点对比
2018/05/02 PHP
jQuery多媒体插件jQuery Media Plugin使用详解
2014/12/19 Javascript
Jquery使用val方法读写value值
2015/05/18 Javascript
js原型链与继承解析(初体验)
2016/05/09 Javascript
jQuery+CSS3文字跑马灯特效的简单实现
2016/06/25 Javascript
jquery.serialize() 函数语法及简单实例
2016/07/08 Javascript
总结Node.js中的一些错误类型
2016/08/15 Javascript
Vue 项目中遇到的跨域问题及解决方法(后台php)
2018/03/28 Javascript
electron + vue项目实现打印小票功能及实现代码
2018/11/25 Javascript
微信小程序出现wx.getLocation再次授权问题的解决方法分析
2019/01/16 Javascript
详解vue更改头像功能实现
2019/04/28 Javascript
中高级前端必须了解的JS中的内存管理(推荐)
2019/07/04 Javascript
[00:32]2018DOTA2亚洲邀请赛出场——VP
2018/04/04 DOTA
python实现决策树C4.5算法详解(在ID3基础上改进)
2017/05/31 Python
python实现简单中文词频统计示例
2017/11/08 Python
Python爬虫获取图片并下载保存至本地的实例
2018/06/01 Python
python实现括号匹配的思路详解
2018/08/23 Python
python生成n个元素的全组合方法
2018/11/13 Python
pandas DataFrame创建方法的方式
2019/08/02 Python
Python代码生成视频的缩略图的实例讲解
2019/12/22 Python
Python获取二维数组的行列数的2种方法
2020/02/11 Python
什么是python的必选参数
2020/06/21 Python
详解Django中views数据查询使用locals()函数进行优化
2020/08/24 Python
使用简单的CSS3属性实现炫酷读者墙效果
2014/01/08 HTML / CSS
西班牙多品牌鞋店连锁店:Krack
2018/11/30 全球购物
意大利奢侈品零售商:ilDuomo Novara
2019/09/11 全球购物
屈臣氏泰国官网:Watsons TH
2021/02/23 全球购物
非常详细的C#面试题集
2016/07/13 面试题
物业管理公司实习生自我鉴定
2013/09/19 职场文书
服务员岗位职责
2014/01/29 职场文书
《乞巧》教学反思
2014/02/27 职场文书
竞选体育委员演讲稿
2014/04/26 职场文书
2014年护士个人工作总结
2014/11/11 职场文书
Windows Server 2012 修改远程默认端口3389的方法
2022/04/28 Servers