【Python】用150行代码模拟太阳系行星运转+源码

本文分享了如何使用Python模拟太阳系行星运转的过程,包括准备背景素材、编写代码实现行星绕太阳旋转,以及月球绕地球旋转的效果。通过150行代码,详细解释了每个步骤,适合对Python感兴趣的读者学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

又到每日分享Python小技巧的时候了,我真是太开心了。今天给大家分享的是模拟太阳系行星运转。听起来就很不错,效果出来的时候也是很不错的,让我们一起期待。

在这里插入图片描述

1、准备材料

首先我们需要准备这样一些材料

宇宙背景图

在这里插入图片描述

背景透明的行星图

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2:编写代码

代码分块详解

导入需要的模块

###Python学习交流Q群:906715085###
import pygame  
import sys  
import math  
from pygame.locals import *

定义窗口大小、标题名称、字体设置、创建时钟

size = width, height = 1206, 780
screen = pygame.display.set_mode(size)
pygame.display.set_caption(太阳系行星运转示意图)
myfont = pygame.font.Font(None,60)
clock = pygame.time.Clock()

宇宙背景初始化

background = pygame.image.load(r 这里填背景图片本地路径 )
    screen.blit(background, (0, 0))

右侧文字及星球显示

###Python学习交流Q群:906715085##
   textImage = myfont.render(Solar System, True, (255, 255, 0))           # 太阳系
    screen.blit(textImage, (100, 100))
    my_font = pygame.font.SysFont(arial, 15)
    text_surface = my_font.render(Sun, True, (255, 0, 0), (0, 0, 0))       # 太阳
    screen.blit(text_surface, (1020, 30))
    sun = pygame.image.load(rF:\solar-system\image\sun_bg.png)
    screen.blit(pygame.transform.scale(sun, (27, 27)), (1090, 25))
    my_font = pygame.font.SysFont(arial, 15)
    text_surface = my_font.render(Mercury, True, (255, 0, 0), (0, 0, 0))   # 水星
    screen.blit(text_surface, (1020, 70))
    my_font = pygame.font.SysFont(arial, 15)
    Mercury = pygame.image.load(rF:\solar-system\image\mercury_bg.png)
    screen.blit(pygame.transform.scale(Mercury, (27, 27)), (1090, 65))
    text_surface = my_font.render(Venus, True, (255, 0, 0), (0, 0, 0))     # 金星
    screen.blit(text_surface, (1020, 110))
    my_font = pygame.font.SysFont(arial, 15)
    spark = pygame.image.load(rF:\solar-system\image\spark_bg.png)
    screen.blit(pygame.transform.scale(spark, (27, 27)), (1090, 105))
    text_surface = my_font.render(Earth, True, (255, 0, 0), (0, 0, 0))     # 地球
    screen.blit(text_surface, (1020, 150))
    my_font = pygame.font.SysFont(arial, 15)
    earth = pygame.image.load(rF:\solar-system\image\earth_min_bg.png)
    screen.blit(pygame.transform.scale(earth, (27, 27)), (1090, 145))
    text_surface = my_font.render(Moon, True, (255, 0, 0), (0, 0, 0))      # 月球
    screen.blit(text_surface, (1020, 190))
    my_font = pygame.font.SysFont(arial, 15)
    moon = pygame.image.load(rF:\solar-system\image\mercury_bg.png)
    screen.blit(pygame.transform.scale(moon, (27, 27)), (1090, 185))
    text_surface = my_font.render(Mars, True, (255, 0, 0), (0, 0, 0))      # 火星
    screen.blit(text_surface, (1020, 230))
    Mars = pygame.image.load(rF:\solar-system\image\venus_bg.png)
    screen.blit(pygame.transform.scale(Mars, (27, 27)), (1090, 225))
    my_font = pygame.font.SysFont(arial, 15)
    text_surface = my_font.render(Jupiter, True, (255, 0, 0), (0, 0, 0))   # 木星
    screen.blit(text_surface, (1020, 270))
    Jupiter = pygame.image.load(rF:\solar-system\image\jupiter_min_bg.png)
    screen.blit(pygame.transform.scale(Jupiter, (27, 27)), 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值