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中的decode()方法的使用
May 18 Python
python使用PIL模块实现给图片打水印的方法
May 22 Python
python dict.get()和dict['key']的区别详解
Jun 30 Python
Python对字符串实现去重操作的方法示例
Aug 11 Python
pyqt5简介及安装方法介绍
Jan 31 Python
Python Grid使用和布局详解
Jun 30 Python
python print出共轭复数的方法详解
Jun 25 Python
Python 字符串类型列表转换成真正列表类型过程解析
Aug 26 Python
python实现银行实战系统
Feb 26 Python
使用python 计算百分位数实现数据分箱代码
Mar 03 Python
Python子进程subpocess原理及用法解析
Jul 16 Python
MoviePy简介及Python视频剪辑自动化
Dec 18 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
天使彦史上最神还原,性别曝光的那一刻,百万网友恋爱了
2020/03/02 国漫
深入了解 register_globals (附register_globals=off 网站打不开的解决方法)
2012/06/27 PHP
php多任务程序实例解析
2014/07/19 PHP
Zend Framework教程之路由功能Zend_Controller_Router详解
2016/03/07 PHP
CodeIgniter开发实现支付宝接口调用的方法示例
2016/11/14 PHP
PHP使用PDO实现mysql防注入功能详解
2019/12/20 PHP
php中get_object_vars()在数组的实例用法
2021/02/22 PHP
jQuery获取地址栏参数插件(模仿C#)
2010/10/26 Javascript
javascript对talbe进行动态添加、删除、验证实现代码
2012/03/29 Javascript
javascript实现支持移动设备画廊
2015/08/24 Javascript
Jquery1.9.1源码分析系列(十五)动画处理之外篇
2015/12/04 Javascript
JS原型与原型链的深入理解
2017/02/15 Javascript
Vue.js -- 过滤器使用总结
2017/02/18 Javascript
详解angular2实现ng2-router 路由和嵌套路由
2017/03/24 Javascript
js实现文字列表无缝滚动效果
2017/06/23 Javascript
Angular 封装并发布组件的方法示例
2018/04/19 Javascript
vue 子组件watch监听不到prop的解决
2020/08/09 Javascript
javascript实现时钟动画
2020/12/03 Javascript
Python排序搜索基本算法之堆排序实例详解
2017/12/08 Python
pandas对指定列进行填充的方法
2018/04/11 Python
python判断设备是否联网的方法
2018/06/29 Python
详解Python 装饰器执行顺序迷思
2018/08/08 Python
python石头剪刀布小游戏(三局两胜制)
2021/01/20 Python
Python基于numpy模块实现回归预测
2020/05/14 Python
python实现企业微信定时发送文本消息的实例代码
2020/11/25 Python
高中生校园生活自我评价
2013/09/19 职场文书
超市5.1促销活动
2014/01/15 职场文书
军训自我鉴定怎么写
2014/02/13 职场文书
三好学生演讲稿范文
2014/04/26 职场文书
机械工程学院大学生求职信
2014/05/25 职场文书
运动会口号16字
2014/06/07 职场文书
社区环境卫生倡议书
2015/04/29 职场文书
车辆管理制度范本
2015/08/05 职场文书
Python 循环读取数据内存不足的解决方案
2021/05/25 Python
Js类的构建与继承案例详解
2021/09/15 Javascript
java实现自定义时钟并实现走时功能
2022/06/21 Java/Android