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 相关文章推荐
Python3实现Web网页图片下载
Jan 28 Python
Python爬虫爬取一个网页上的图片地址实例代码
Jan 16 Python
python实现文件助手中查看微信撤回消息
Apr 29 Python
详解python3中用HTMLTestRunner.py报ImportError: No module named 'StringIO'如何解决
Aug 27 Python
通过Python编写一个简单登录功能过程解析
Sep 04 Python
Django 解决distinct无法去除重复数据的问题
May 20 Python
pytorch VGG11识别cifar10数据集(训练+预测单张输入图片操作)
Jun 24 Python
Django如何在不停机的情况下创建索引
Aug 02 Python
浅析Python 序列化与反序列化
Aug 05 Python
利用Python发送邮件或发带附件的邮件
Nov 12 Python
python“静态”变量、实例变量与本地变量的声明示例
Nov 13 Python
Anaconda配置各版本Pytorch的实现
Aug 07 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
Symfony实现行为和模板中取得request参数的方法
2016/03/17 PHP
Laravel实现自定义错误输出内容的方法
2016/10/10 PHP
php正则去除网页中所有的html,js,css,注释的实现方法
2016/11/03 PHP
Yii框架连表查询操作示例
2019/09/06 PHP
javascript 打印页面代码
2009/03/24 Javascript
JS的反射问题
2010/04/07 Javascript
电子商务网站上的常用的js放大镜效果
2011/12/08 Javascript
用Javascript获取页面元素的具体位置
2013/12/09 Javascript
JavaScript的面向对象编程基础
2015/08/13 Javascript
vue中的计算属性的使用和vue实例的方法示例
2017/12/04 Javascript
AjaxUpLoad.js实现文件上传
2018/03/05 Javascript
vue引入js数字小键盘的实现代码
2018/05/14 Javascript
微信小程序实现人脸识别
2018/05/25 Javascript
vue自定义一个v-model的实现代码
2018/06/21 Javascript
详解nuxt sass全局变量(公共scss解决方案)
2018/06/27 Javascript
ExtJs使用自定义插件动态保存表头配置(隐藏或显示)
2018/09/25 Javascript
node app 打包工具pkg的具体使用
2019/01/17 Javascript
JS addEventListener()和attachEvent()方法实现注册事件
2021/01/11 Javascript
Python中字典的setdefault()方法教程
2017/02/07 Python
Django forms组件的使用教程
2018/10/08 Python
Python将文字转成语音并读出来的实例详解
2019/07/15 Python
自定义django admin model表单提交的例子
2019/08/23 Python
Python如何设置指定窗口为前台活动窗口
2020/08/12 Python
Ubuntu20下的Django安装的方法步骤
2021/01/24 Python
用CSS3的box-reflect来制作倒影效果
2016/11/15 HTML / CSS
css3中flex布局宽度不生效的解决
2020/12/09 HTML / CSS
美国棒球装备和用品商店:Baseball Savings
2018/06/09 全球购物
华为消费者德国官方网站:HUAWEI德国
2020/11/03 全球购物
管道维修工岗位职责
2013/12/27 职场文书
酒店总经理助理职责
2014/02/12 职场文书
《世界多美呀》教学反思
2014/03/02 职场文书
2014年大班保育员工作总结
2014/12/02 职场文书
2015年高一班主任工作总结
2015/05/13 职场文书
2015年防灾减灾工作总结
2015/07/24 职场文书
2016公务员年度考核评语
2015/12/01 职场文书
详细聊聊vue中组件的props属性
2021/11/02 Vue.js