|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 阴阳神万物主 于 2021-9-29 09:00 编辑
恩姆,小甲鱼在这一讲中举的那个画五角星的例子感觉很累啊,全部的五个点都要自己算。而且呢,例子对于数学的利用不是很到位……
以下贴出我自己的代码:
- from tkinter import *
- import math as m
- root = Tk()
- w = Canvas(root, width=200, height=100)
- w.pack()
- thecenter = (100, 50) #这个是圆心
- R = 50
- startA = m.pi/2 #找点的起始角度,小甲鱼例子里的顶点与圆心连线的倾斜角
- pos = [] #储存点的列表
- for i in range(5): #这里在找点
- p = (thecenter[0] - int(R * m.cos(startA+i*(2*m.pi/5))),\
- thecenter[1] - int(R * m.sin(startA+i*(2*m.pi/5))))
- pos.append(p)
- a = 4 #a的值随意,是整数就行
- points = [] #传给polygon构造函数的列表
- for i in range(5): #取点,range里是几,就取几个点(用while也行,直接就能得到完整的五角星,这里用for可以查看连线是怎么连的)
- points.extend([pos[a%5][0],pos[a%5][1]])
- a += 2
- w.create_polygon(points, outline='green', fill='yellow')
- mainloop()
复制代码
以下是具体数学原理:
|
|