python练习题(三十七):一个最优美的图案

# 题目:一个最优美的图案。

import numpy as np
import math
from tkinter import *

root = Tk()
root.title('一个优美的图案')
canvas = Canvas(root, width=620, height=620, bg='white')

canvas.create_oval(10, 10, 610, 610)
n = 15
angle = 2 * math.pi / n
r = 300
count = 1
r_left = r + 10
point_list = np.zeros([2, n])
point_list[0, 0], point_list[1, 0] = 10, r_left
while count * angle <= math.pi:
    point_list[0, count] = r_left - r * math.cos(count * angle)
    point_list[0, n - count] = r_left - r * math.cos(count * angle)
    point_list[1, count] = r_left - r * math.sin(count * angle)
    point_list[1, n - count] = r_left + r * math.sin(count * angle)
    count += 1
for k in range(n - 1):
    for i in range(n):
        if i != k:
            canvas.create_line(point_list[0, k], point_list[1, k], point_list[0, i], point_list[1, i])

canvas.pack()
mainloop()

运行结果:
在这里插入图片描述

发布了37 篇原创文章 · 获赞 0 · 访问量 395

猜你喜欢

转载自blog.csdn.net/yizhishuixiong/article/details/104976445
今日推荐