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读取word文档的方法
May 09 Python
Python中的一些陷阱与技巧小结
Jul 10 Python
Python虚拟环境virtualenv的安装与使用详解
May 28 Python
Python编程实现双链表,栈,队列及二叉树的方法示例
Nov 01 Python
Python图形绘制操作之正弦曲线实现方法分析
Dec 25 Python
使用requests库制作Python爬虫
Mar 25 Python
Python3标准库总结
Feb 19 Python
Python计算两个矩形重合面积代码实例
Sep 16 Python
Python2与Python3的区别详解
Feb 09 Python
详解Django中views数据查询使用locals()函数进行优化
Aug 24 Python
numba提升python运行速度的实例方法
Jan 25 Python
详解Python中__new__方法的作用
Mar 31 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版本号
2006/10/09 PHP
php 将bmp图片转为jpg等其他任意格式的图片
2009/06/21 PHP
php实现XSS安全过滤的方法
2015/07/29 PHP
php连接MSsql server的五种方法总结
2018/03/04 PHP
yii2中关于加密解密的那些事儿
2018/06/12 PHP
使用javascipt---实现二分查找法
2013/04/10 Javascript
jquery()函数的三种语法介绍
2013/10/09 Javascript
js在IE与firefox的差异集锦
2014/11/11 Javascript
JavaScript中判断两个字符串是否相等的方法
2015/07/07 Javascript
JS实现转动随机数抽奖特效代码
2020/04/16 Javascript
JavaScript基础知识及常用方法总结
2016/01/10 Javascript
bootstrap基础知识学习笔记
2016/11/02 Javascript
详解js中call与apply关键字的作用
2016/11/21 Javascript
vue.js数据绑定的方法(单向、双向和一次性绑定)
2017/07/13 Javascript
AngularJS中下拉框的高级用法示例
2017/10/11 Javascript
详解如何给React-Router添加路由页面切换时的过渡动画
2019/04/25 Javascript
vue通过v-html指令渲染的富文本无法修改样式的解决方案
2020/05/20 Javascript
js实现缓动动画
2020/11/25 Javascript
Python splitlines使用技巧
2008/09/06 Python
Python文件读取的3种方法及路径转义
2015/06/21 Python
浅谈Django中的数据库模型类-models.py(一对一的关系)
2018/05/30 Python
python3实现SMTP发送邮件详细教程
2018/06/19 Python
Python配置虚拟环境图文步骤
2019/05/20 Python
用什么库写 Python 命令行程序(示例代码详解)
2020/02/20 Python
Python将二维列表list的数据输出(TXT,Excel)
2020/04/23 Python
jupyter 添加不同内核的操作
2021/02/06 Python
Marks & Spencer爱尔兰:英国马莎百货
2016/04/20 全球购物
Deux par Deux官方网站:设计师童装
2020/01/03 全球购物
捷克母婴用品购物网站:Feedo.cz
2020/12/28 全球购物
《与朱元思书》的教学反思
2014/04/17 职场文书
2014领导班子“四风问题”对照检查材料思想汇报(执法局)
2014/09/21 职场文书
党员学习群众路线教育实践活动对照检查材料
2014/09/23 职场文书
2014年人大工作总结
2014/12/10 职场文书
行政主管岗位职责
2015/02/03 职场文书
大学军训心得体会800字
2016/01/11 职场文书
高并发下Redis如何保持数据一致性(避免读后写)
2022/03/18 Redis