怎么用python画三角形并填色?以及画五角星并且填色?(急!)
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/11 05:27:24
怎么用python画三角形并填色?以及画五角星并且填色?(急!)
我会用添加线的指令画出来 但是不会填色 要直接一句话写出来是不可能的 python没有直接画出多边形的功能(长方形除外)
我会用添加线的指令画出来 但是不会填色 要直接一句话写出来是不可能的 python没有直接画出多边形的功能(长方形除外)
可以.用fill='#XXXXXX'参数:
from Tkinter import Tk,Canvas,Frame,BOTH
from math import sin,pi,cos
def pentagramPoints(cx,cy,R):
xita = 36*pi/180
r = R*cos(2*xita)/cos(xita)
points = []
for i in range(0,10):
angle = i*xita + 0.5*xita
if i % 2:
points+=[cx + r*cos(angle),cy - r*sin(angle)]
else:
points+=[cx + R*cos(angle),cy - R*sin(angle)]
return points
if __name__ == '__main__':
root = Tk()
f = Frame(root)
f.pack(fill=BOTH,expand=1)
canvas = Canvas(f)
canvas.create_polygon(30,10,160,470,290,10,outline="#000000",fill="#00ff00",width=3)
canvas.create_polygon(pentagramPoints(480,240,100),outline = '#000000',fill='#ff0000',width=3)
canvas.pack(fill=BOTH,expand=1)
root.geometry("640x480+300+300")
root.mainloop()
from Tkinter import Tk,Canvas,Frame,BOTH
from math import sin,pi,cos
def pentagramPoints(cx,cy,R):
xita = 36*pi/180
r = R*cos(2*xita)/cos(xita)
points = []
for i in range(0,10):
angle = i*xita + 0.5*xita
if i % 2:
points+=[cx + r*cos(angle),cy - r*sin(angle)]
else:
points+=[cx + R*cos(angle),cy - R*sin(angle)]
return points
if __name__ == '__main__':
root = Tk()
f = Frame(root)
f.pack(fill=BOTH,expand=1)
canvas = Canvas(f)
canvas.create_polygon(30,10,160,470,290,10,outline="#000000",fill="#00ff00",width=3)
canvas.create_polygon(pentagramPoints(480,240,100),outline = '#000000',fill='#ff0000',width=3)
canvas.pack(fill=BOTH,expand=1)
root.geometry("640x480+300+300")
root.mainloop()