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实现子类调用父类的方法
Nov 10 Python
全面了解Python的getattr(),setattr(),delattr(),hasattr()
Jun 14 Python
python 接收处理外带的参数方法
Dec 03 Python
对python文件读写的缓冲行为详解
Feb 13 Python
Django 重写用户模型的实现
Jul 29 Python
Python 类方法和实例方法(@classmethod),静态方法(@staticmethod)原理与用法分析
Sep 20 Python
wxPython+Matplotlib绘制折线图表
Nov 19 Python
python如何将两张图片生成为全景图片
Mar 05 Python
django迁移文件migrations的实现
Mar 31 Python
浅谈Python中os模块及shutil模块的常规操作
Apr 03 Python
PyCharm MySQL可视化Database配置过程图解
Jun 09 Python
python实现简易自习室座位预约系统
Jun 30 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中的extract的作用分析
2008/04/09 PHP
使用php语句将数据库*.sql文件导入数据库
2014/05/05 PHP
PHP获取数组的键与值方法小结
2015/06/13 PHP
PHP使用file_get_content设置头信息的方法
2016/02/14 PHP
PHP中session跨子域的三种实现方法
2016/07/25 PHP
php提供实现反射的方法和实例代码
2019/09/17 PHP
写给想学习Javascript的朋友一点学习经验小结
2010/11/23 Javascript
深入理解JS中的变量及作用域、undefined与null
2014/03/04 Javascript
jQuery根据用户电脑是mac还是pc加载对应样式的方法
2015/06/26 Javascript
js实现的星星评分功能函数
2015/12/09 Javascript
JS实现的倒计时效果实例(2则实例)
2015/12/23 Javascript
浅析jQuery Ajax通用js封装
2016/06/22 Javascript
微信小程序 后台https域名绑定和免费的https证书申请详解
2016/11/10 Javascript
Vue.js仿Metronic高级表格(一)静态设计
2017/04/17 Javascript
详解基于Angular4+ server render(服务端渲染)开发教程
2017/08/28 Javascript
vue获取DOM元素并设置属性的两种实现方法
2017/09/30 Javascript
浅谈React高阶组件
2018/03/28 Javascript
详解50行代码,Node爬虫练手项目
2019/04/22 Javascript
JS如何实现网站中PC端和手机端自动识别并跳转对应的代码
2020/01/08 Javascript
浅谈Vue组件单元测试究竟测试什么
2020/02/05 Javascript
Python3匿名函数用法示例
2018/07/25 Python
python修改字典键(key)的方法
2019/08/05 Python
Pycharm 字体大小调整设置的方法实现
2019/09/27 Python
django使用多个数据库的方法实例
2021/03/04 Python
英格兰橄榄球商店:England Rugby Store
2016/12/17 全球购物
写出程序把一个链表中的接点顺序倒排
2014/04/28 面试题
优秀研究生自我鉴定
2013/12/04 职场文书
期末自我鉴定
2014/01/23 职场文书
信息技术专业大学生职业生涯规划书
2014/01/24 职场文书
群众路线教育实践活动方案
2014/02/02 职场文书
小学生手册家长评语
2014/04/16 职场文书
乡镇干部党的群众路线教育实践活动个人对照检查材料
2014/09/24 职场文书
民事上诉状范文
2015/05/22 职场文书
CSS完成视差滚动效果
2021/04/27 HTML / CSS
PYTHON使用Matplotlib去实现各种条形图的绘制
2022/03/22 Python
 分享一个Python 遇到数据库超好用的模块
2022/04/06 Python