Python编写万花尺图案实例
作者:zhimaHTTP 时间:2022-04-16 06:12:21
小的时候大家应该都玩过万花尺,将笔尖放置万花尺内不停的转动,便可以画出一幅精致的线稿图,现在我们不用万花尺,我们通过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()
(二)实现结果
我们还可以通过修改不同的参数来实现不同的图案转化,大家可以多试试,做出多种不同的效果图。
来源:https://blog.csdn.net/zhimaHTTP/article/details/111406131
标签:Python,万花尺
0
投稿
猜你喜欢
Go语言基础函数基本用法及示例详解
2024-05-09 14:57:15
基于python 将列表作为参数传入函数时的测试与理解
2023-02-07 19:51:18
批量更新存储过程所有者
2010-07-15 21:14:00
django实现前后台交互实例
2022-04-12 20:53:33
python通过pil将图片转换成黑白效果的方法
2021-07-17 22:13:16
MySQL获取当前时间的多种方式总结
2024-01-21 02:29:34
python3处理word文档实例分析
2023-01-06 23:21:13
linux中数据库的定时备份
2024-01-25 17:43:25
Python 利用pydub库操作音频文件的方法
2022-12-12 05:42:53
Google中秋logo被恶搞
2007-09-25 15:55:00
MySQL锁(表锁,行锁,共享锁,排它锁,间隙锁)使用详解
2024-01-20 12:07:17
Go语言空结构体详解
2024-04-30 10:07:44
通过百度地图获取公交线路的站点坐标的js代码
2024-04-18 09:28:14
Python基于Opencv来快速实现人脸识别过程详解(完整版)
2023-09-06 17:04:25
初学JavaScript第二章
2024-04-17 10:11:30
利用ADODB.Stream使用浏览器下载服务器文件
2008-10-09 12:42:00
PyQt中实现自定义工具提示ToolTip的方法详解
2023-11-09 13:34:56
MySQL中使用FREDATED引擎实现跨数据库服务器、跨实例访问
2024-01-25 12:55:52
Python 安装setuptools和pip工具操作方法(必看)
2023-11-06 11:46:07
Go语言学习教程之声明语法(译)
2024-02-01 03:44:16