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 13 Python
Python线程指南详细介绍
Jan 05 Python
解决uWSGI的编码问题详解
Mar 24 Python
Python中.join()和os.path.join()两个函数的用法详解
Jun 11 Python
django.db.utils.ProgrammingError: (1146, u“Table‘’ doesn’t exist”)问题的解决
Jul 13 Python
Python使用matplotlib绘制三维图形示例
Aug 25 Python
情人节快乐! python绘制漂亮玫瑰
Aug 18 Python
python 实现图片上传接口开发 并生成可以访问的图片url
Dec 18 Python
Pytorch之view及view_as使用详解
Dec 31 Python
PyTorch实现ResNet50、ResNet101和ResNet152示例
Jan 14 Python
Python sys模块常用方法解析
Feb 20 Python
win10+anaconda安装yolov5的方法及问题解决方案
Apr 29 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利用cookie实现自动登录的方法
2014/12/10 PHP
Linux下 php7安装redis的方法
2018/11/01 PHP
PHP的mysqli_stmt_init()函数讲解
2019/01/24 PHP
Laravel 类和接口注入相关的代码
2019/10/15 PHP
php经典趣味算法实例代码
2020/01/21 PHP
jquery $.ajax入门应用一
2008/11/19 Javascript
javascript 动态生成私有变量访问器
2009/12/06 Javascript
js下用层来实现select的title提示属性
2010/02/23 Javascript
div模拟选择框示例代码
2013/11/03 Javascript
JS实现新浪微博效果带遮罩层的弹出框代码
2015/10/12 Javascript
js实现微信分享代码
2020/10/11 Javascript
解决jquery无法找到其他父级子集问题的方法
2016/05/10 Javascript
Angularjs的Controller间通信机制实例分析
2016/11/07 Javascript
详解Javascript百度地图接口开发文档中的类和方法
2017/02/07 Javascript
AngularJS学习第一篇 AngularJS基础知识
2017/02/13 Javascript
node.js使用redis储存session的方法
2018/09/26 Javascript
微信小程序日历弹窗选择器代码实例
2019/05/09 Javascript
前端插件之Bootstrap Dual Listbox使用教程
2019/07/23 Javascript
JavaScript 实现HTML DOM增删改查操作的常见方法详解
2020/01/04 Javascript
js中forEach,for in,for of循环的用法示例小结
2020/03/14 Javascript
微信小程序调用wx.getImageInfo遇到的坑解决
2020/05/31 Javascript
深入讨论Python函数的参数的默认值所引发的问题的原因
2015/03/30 Python
python实现两个dict合并与计算操作示例
2019/07/01 Python
python 安装库几种方法之cmd,anaconda,pycharm详解
2020/04/08 Python
巴西宠物商店:Cobasi
2019/04/19 全球购物
linux面试题参考答案(3)
2012/09/13 面试题
办公室副主任职责范本
2014/03/08 职场文书
拾金不昧表扬信怎么写
2015/05/04 职场文书
尼克胡哲观后感
2015/06/08 职场文书
反腐倡廉学习心得体会范文
2015/08/15 职场文书
《巨人的花园》教学反思
2016/02/19 职场文书
如何让vue长列表快速加载
2021/03/29 Vue.js
go语言-在mac下brew升级golang
2021/04/25 Golang
python保存大型 .mat 数据文件报错超出 IO 限制的操作
2021/05/10 Python
SpringBoot连接MySQL获取数据写后端接口的操作方法
2021/11/02 MySQL
微信小程序实现轮播图指示器
2022/06/25 Javascript