设计一个程序,首先确在屏幕的中央设置圆心,生成一个半径为200的圆,之后以相同的圆心生成一个半径为200的直角扇形。此时,在圆内随机生成一个黑点,设置一个翻转按钮,按下此按钮,将扇形的中心移动到黑点处,并将此扇形全部变为红色,并且在控制台输出黑点的坐标和与圆心的角度
时间: 2024-06-03 17:12:08 浏览: 121
以下是Python语言的程序设计:
import random
import math
import tkinter as tk
# 创建主窗口
root = tk.Tk()
root.geometry("600x600")
# 在画布中心绘制圆和扇形
canvas = tk.Canvas(root, width=400, height=400, bg="white")
canvas.place(relx=0.5, rely=0.5, anchor="center")
canvas.create_oval(100, 100, 300, 300, outline="black")
canvas.create_arc(100, 100, 300, 300, start=0, extent=90, fill="yellow")
# 在圆内随机生成一个黑点
x = random.randint(100, 300)
y = random.randint(100, 300)
angle = math.atan2(y-200, x-200) * 180 / math.pi
canvas.create_oval(x-5, y-5, x+5, y+5, fill="black")
# 定义翻转按钮的回调函数
def flip():
canvas.move(2, x-200, y-200)
canvas.itemconfig(2, fill="red")
print("黑点坐标:({}, {}), 角度:{:.2f}".format(x, y, angle))
# 创建翻转按钮
button = tk.Button(root, text="翻转", command=flip)
button.place(relx=0.5, rely=0.9, anchor="center")
root.mainloop()
阅读全文