请编写2个函数,分别实现以下功能 1.函数名one,在宽400高300的黑色背景上,画一个等腰三角形,要求三角形大小接近充满整个背景。 2.函数名two,在400宽*300高的黑色画布上,画3个不同颜色的实心的同心圆。 这2个函数在同一个文件中
时间: 2024-09-19 11:04:49 浏览: 31
当然可以,这是一个基本的Python示例,使用了`pygame`库来绘制图形,它是一个广泛用于游戏开发的绘图模块,这里我们假设用户已经安装了`pygame`。
```python
import pygame
import math
# 初始化Pygame
pygame.init()
# 定义窗口尺寸
SCREEN_WIDTH = 400
SCREEN_HEIGHT = 300
screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))
background_color = (0, 0, 0) # 黑色背景
def draw_triangle():
triangle_height = min(SCREEN_WIDTH, SCREEN_HEIGHT) / 2 # 等腰三角形高度
base_length = triangle_height * 2 # 三角形底边长度
x = (SCREEN_WIDTH - base_length) // 2 # 三角形顶点位置
y = triangle_height
vertices = [(x, y), (x + base_length, y), (x + base_length // 2, y - triangle_height)]
pygame.draw.polygon(screen, (255, 255, 255), vertices, 0) # 白色三角形
def draw_circles():
circle_colors = [(255, 0, 0), (0, 255, 0), (0, 0, 255)] # 红、绿、蓝三色
for i in range(3):
radius = int(min(SCREEN_WIDTH, SCREEN_HEIGHT) * 0.4 / 3) # 同心圆半径
center_x = SCREEN_WIDTH // 2 + i * radius
center_y = SCREEN_HEIGHT // 2
pygame.draw.circle(screen, circle_colors[i], (center_x, center_y), radius)
# 渲染和更新屏幕
def main():
screen.fill(background_color)
draw_triangle()
draw_circles()
pygame.display.update() # 更新屏幕显示
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# 运行主函数
if __name__ == "__main__":
main()
```
阅读全文