import pygame
import math
from pygame.locals import *# 初始化Pygame
pygame.init()# 设置屏幕尺寸和标题
width, height = 800, 600
screen = pygame.display.set_mode((width, height))
pygame.display.set_caption('3D 圣诞树')# 设置颜色
GREEN = (34, 139, 34)
BROWN = (139, 69, 19)
RED = (255, 0, 0)
YELLOW = (255, 255, 0)
WHITE = (255, 255, 255)# 圣诞树参数
tree_height = 200
tree_width = 100
levels = 5
level_height = tree_height / levels
level_width = tree_width / levels# 旋转角度
angle = 0# 主循环
running = True
while running:screen.fill((0, 0, 0))# 处理事件for event in pygame.event.get():if event.type == QUIT:running = False# 创建3D圣诞树for i in range(levels):# 计算每一层的宽度和高度current_width = tree_width - i * level_widthcurrent_height = level_height# 计算每一层的四个顶点x1 = -current_width / 2y1 = -current_height * ix2 = current_width / 2y2 = y1x3 = 0y3 = current_height * (i + 1)# 绘制三角形pygame.draw.polygon(screen, GREEN, [(x1, y1), (x2, y2), (x3, y3)])# 添加装饰灯if i % 2 == 0:pygame.draw.circle(screen, RED, (int(x1 + current_width / 4), int(y1 + current_height / 2)), 5)pygame.draw.circle(screen, YELLOW, (int(x2 - current_width / 4), int(y2 + current_height / 2)), 5)# 绘制树干pygame.draw.rect(screen, BROWN, (-20, tree_height - 20, 40, 20))# 旋转效果angle += 0.01if angle > 2 * math.pi:angle = 0# 更新屏幕pygame.display.flip()# 退出Pygame
pygame.quit()python3D圣诞树
2026/5/11 12:10:30
来源:https://blog.csdn.net/rhz20131230/article/details/144300711
浏览:
次
关键词:python3D圣诞树
版权声明:
本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。
我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com
热文排行
最新新闻
- ES6/ES11知识点
- uniapp好不好
- 【JVM基础02】——组成-程序计数器解读
- 【diffusers极速入门(七)】Classifier-Free Guidance (CFG)直观理解以及对应代码
- 计算机毕业设计hadoop+spark旅游景点推荐 旅游推荐系统 旅游可视化 旅游爬虫 景区客流量预测 旅游大数据 大数据毕业设计
- CSS技巧专栏:一日一例 3.纯CSS实现炫酷多彩按钮特效
- VS Code for Android 安装和配置指南
- EmguCV学习笔记 VB.Net 第9章 视频操作
- 贴合客户发展阶段 定义观测服务路径 -- DeepFlow金融银行业可观测性方案发布
- 数据结构--树
推荐新闻
- ES6/ES11知识点
- uniapp好不好
- 【JVM基础02】——组成-程序计数器解读
- 【diffusers极速入门(七)】Classifier-Free Guidance (CFG)直观理解以及对应代码
- 计算机毕业设计hadoop+spark旅游景点推荐 旅游推荐系统 旅游可视化 旅游爬虫 景区客流量预测 旅游大数据 大数据毕业设计
- CSS技巧专栏:一日一例 3.纯CSS实现炫酷多彩按钮特效
- VS Code for Android 安装和配置指南
- EmguCV学习笔记 VB.Net 第9章 视频操作
- 贴合客户发展阶段 定义观测服务路径 -- DeepFlow金融银行业可观测性方案发布
- 数据结构--树
