范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

太阳系少了一颗行星,知道吗?用python的pygame绘制8大行星动图

  1 说明:
  =====
  1.1 我还一直以为太阳系中有九大行星,你知道吗?今天才知道有一颗行星被除名了,是冥王星被划为矮行星,并命名为小行星134340号。
  1.2 在2006年8月24日于布拉格举行的第26届国际天文联会中通过的第5号决议中,被除名的。
  1.3 也就是说:从2006年8月24日起,太阳系只有8大行星,即:水星、金星、地球、火星、木星、土星、天王星和海王星。别搞错了。
  太阳系8大行星(月球是地球的小卫星)
  2 说明:
  =====
  2.1 致谢:谢谢原博主分享,资料、图片和代码是来源他的文章,从下面的链接中来的。https://blog.csdn.net/IT_charge/article/details/106150146?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase
  2.2 对他的代码进行删减、修改、注释、优化,增加中文显示,星体重命名等等,体现了python的列表和推导式等思维。
  2.3 环境:
  华为笔记本电脑、深度deepin-linux操作系统、谷歌浏览器、python3.8和微软vscode编辑器。
  3 效果图:
  4 文件:
  =====
  4.1 文件结构:solar.py与bgmusic.mp3、image文件夹在同一个目录下,多了一个4.png(不要管这个)。
  4.2 注意:字体,我用的是能够显示中文的字体:华文仿宋;hwfs.ttf,需要自己下载,放在根目录下。
  当然也可以放在指定的目录下。
  4.3 图片也附带给出:我的图片带有水印,也可以从原博主那里下载,原博主还给出网盘下载地址。
  为了达到效果,下面的图片均命名。
  bg.png
  4.4 solar.py代码:# 导入模块 import pygame,sys,math from pygame.locals import * # 初始化 pygame.init() # 定义窗口大小、标题名称、字体设置、创建时钟(可以控制游戏循环频率) size = width, height = 1206, 780  #定义星体的初级宽和高,不动 sizewin = width, height = 2200, 1200  #窗口的宽和高 #本人喜欢窗口可调节RESIZABLE screen = pygame.display.set_mode(sizewin,RESIZABLE) pygame.display.set_caption("太阳系八大行星示意图") clock = pygame.time.Clock() #定义颜色 GREEN=(0,255,0) WHITE=(255,255,255) # 定义2个空列表 pos_e = pos_mm = [] # 地球和月球等其他行星的公转过的角度 roll_e = roll_m = roll_1 = roll_2 = roll_3 = roll_4 = roll_5 = roll_6 = roll_7 = roll_8 = 0   # 添加背景音乐,可自定义背景音乐,注意路径 pygame.mixer.music.load("/home/xgj/Desktop/solar/bgmusic.mp3") pygame.mixer.music.play(-1, 40) pygame.mixer.music.set_volume(0.5)   # 循环 while True:     for event in pygame.event.get():         if event.type == QUIT:             sys.exit()       # 宇宙作为bg背景图片     background = pygame.image.load("/home/xgj/Desktop/solar/image/bg.png")     screen.blit(background, (0, 0))       # 主标题字体设置,hwfs=华文仿宋,需要自己下载,放在根目录下     # 也可以指定目录,如图片一样     myfont = pygame.font.Font("hwfs.ttf", 60)     textImage = myfont.render("太阳系==Solar System", True,WHITE)           # 太阳系     screen.blit(textImage, (10, 10))     #星体名称legend的字体定义     my_font = pygame.font.Font("hwfs.ttf", 30)          #导出星体图片     sun = pygame.image.load("/home/xgj/Desktop/solar/image/sun.png")     moon = pygame.image.load("/home/xgj/Desktop/solar/image/moon.png")     mercury = pygame.image.load("/home/xgj/Desktop/solar/image/1-mercury.png")     venus = pygame.image.load("/home/xgj/Desktop/solar/image/2-venus.png")     earth = pygame.image.load("/home/xgj/Desktop/solar/image/3-earth.png")     mars = pygame.image.load("/home/xgj/Desktop/solar/image/4-mars.png")     jupiter = pygame.image.load("/home/xgj/Desktop/solar/image/5-jupiter.png")     saturn = pygame.image.load("/home/xgj/Desktop/solar/image/6-saturn.png")     uranus = pygame.image.load("/home/xgj/Desktop/solar/image/7-uranus.png")     neptune = pygame.image.load("/home/xgj/Desktop/solar/image/8-neptune.png")          #定义星体图片列表     pic_plante=[sun,moon,mercury,venus,earth,mars,jupiter,saturn,uranus,neptune]          #定义星体名称列表     plante_name=["太阳==Sun","月球==Moon","1-水星==Mercury","2-金星==Venus","3-地球==Earth",                 "4-火星==Mars","5-木星==Jupiter","6-土星==Saturn","7-天王星==Uranus","8-海王星==Neptune"]      #y的位置2     pos_y_2=[30,70,110,150,190,230,270,310,350,390]      #y的位置3     pos_y_3=[30,190,70,110,150,230,270,310,350,390]      #推导式简化代码,但是可读性较差     for i in range(10):         text_surface = my_font.render(plante_name[i], True, GREEN)          screen.blit(text_surface, (1700, pos_y_2[i]))         screen.blit(pygame.transform.scale(pic_plante[i], (30, 30)), (1600, pos_y_3[i]))      #太阳位置     screen.blit(pygame.transform.scale(sun, (170, 170)), (527,307))      #星体运行动画设置     # 水星-1     roll_3 += 0.077  # 每帧公转pi     pos_3_x = int(size[0] // 2 + size[1] // 8 * math.sin(roll_3))     pos_3_y = int(size[1] // 2 + size[1] // 8 * math.cos(roll_3))     screen.blit(pygame.transform.scale(mercury, (8, 8)), (pos_3_x, pos_3_y))       # 金星-2     roll_2 += 0.069  # 每帧公转pi     pos_2_x = int(size[0] // 2 + size[1] // 7 * math.sin(roll_2))     pos_2_y = int(size[1] // 2 + size[1] // 7 * math.cos(roll_2))     screen.blit(pygame.transform.scale(venus, (10, 10)), (pos_2_x, pos_2_y))       # 地球-3     roll_e += 0.060  # 每帧公转pi     pos_e_x = int(size[0] // 2 + size[1] // 6 * math.sin(roll_e))     pos_e_y = int(size[1] // 2 + size[1] // 6 * math.cos(roll_e))     screen.blit(pygame.transform.scale(earth, (15, 15)), (pos_e_x, pos_e_y))       # 月球     roll_m += 0.2  # 每帧公转pi     pos_m_x = int(pos_e_x + size[1] // 50 * math.sin(roll_m))     pos_m_y = int(pos_e_y + size[1] // 50 * math.cos(roll_m))     screen.blit(pygame.transform.scale(moon, (6, 6)), (pos_m_x, pos_m_y))       # 火星-4     roll_4 += 0.053  # 每帧公转pi     pos_4_x = int(size[0] // 2 + size[1] // 5 * math.sin(roll_4))     pos_4_y = int(size[1] // 2 + size[1] // 5 * math.cos(roll_4))     screen.blit(pygame.transform.scale(mars, (13, 13)), (pos_4_x, pos_4_y))       # 木星-5     roll_5 += 0.045  # 每帧公转pi     pos_5_x = int(size[0] // 2 + size[1] // 4 * math.sin(roll_5))     pos_5_y = int(size[1] // 2 + size[1] // 4 * math.cos(roll_5))     screen.blit(pygame.transform.scale(jupiter, (70, 70)), (pos_5_x, pos_5_y))       # 土星-6     roll_6 += 0.037  # 每帧公转pi     pos_6_x = int(size[0] // 2 + size[1] // 3.5 * math.sin(roll_6))     pos_6_y = int(size[1] // 2 + size[1] // 3.5 * math.cos(roll_6))     screen.blit(pygame.transform.scale(saturn, (50, 50)), (pos_6_x, pos_6_y))       # 天王星-7     roll_7 += 0.031  # 每帧公转pi     pos_7_x = int(size[0] // 2 + size[1] // 2.7 * math.sin(roll_7))     pos_7_y = int(size[1] // 2 + size[1] // 2.7 * math.cos(roll_7))     screen.blit(pygame.transform.scale(uranus, (45, 45)), (pos_7_x, pos_7_y))       # 海王星-8     roll_8 += 0.025  # 每帧公转pi     pos_8_x = int(size[0] // 2 + size[1] // 2 * math.sin(roll_8))     pos_8_y = int(size[1] // 2 + size[1] // 2 * math.cos(roll_8))     screen.blit(pygame.transform.scale(neptune, (37, 37)), (pos_8_x, pos_8_y))       # 刷新     pygame.display.flip()     # 数值越大刷新越快,小球运动越快,可是改了效果不明显     clock.tick(50)
  附图片
  4.5 顺序:与代码中的顺序保持一致:
  太阳==sun
  月球==moon
  1==水星==Mercury
  2==金星==Venus
  3==地球==Earth
  4==火星==Mars
  5==木星==Jupiter
  6==土星==Saturn
  7==天王星==Uranus
  8==海王星==Neptune
  4.6 星体图片:
  sun.png
  moon.png
  1-mercury.png
  2-venus.png
  3-earth.png
  4-mars.png
  5-jupiter.png
  6-saturn.png
  7-uranus.png
  8-neptune.png
  ===自己整理并分享出来===
  喜欢的人,请点赞、评论、转发、关注和收藏。

怀孕总是留不住,竟因房子长得和别人不一样我也想留住啊,可是总流产,我有什么办法啊这是临沂患者王女士在经过四次胎停后,被婆家多次抱怨后,无奈地发出感慨。人家是不下蛋,她是下了蛋,孵不出来,结果都是一样当从邻居的闲聊中听到这如何培养孩子的正念?当你的新生儿睁开他的眼睛,在短短几个星期内,世界就会引起他的注意,与他的目光相接,你会不由自主停下手中的忙碌。他会研究周围的一切,他的关注点会不断切换,无拘无束地转移注意力。如果你金庸取名从数字ampampquot一ampampquot到ampampquot亿ampampquot,一个都没少,还能有谁做得到?古人对数字诗的偏好有多常见,我们可从以下几首古诗中瞧出一二(摘抄部分诗词)宋文学家鲍照有首数字诗叫数名诗,诗词是二年从车驾,斋祭甘泉宫。三朝国庆华十载学无就,善宦一朝通。同样是宋代你亲手毁了孩子的安全感,却因为他太过懦弱而生气妈妈我错了,你别不要我5岁的小朋友哭得上气不接下气,把我们一众闲聊的家长们吓了一跳。原来是小朋友们玩闹中,不小心打碎了我家的花瓶,知道做错了事情,小齐吓得边哭边喊妈妈。我连忙道没关那些不发朋友圈的中年人,都在想什么我要上头条育儿我其实还蛮爱在朋友圈晒娃的,有时候发点小感慨,记录一下孩子们get了什么新技能,有时候也晒晒自己,常常每天都会更新。然而有一天,我在回翻朋友圈的时候发现,最近几个月,孩子手上长倒刺是缺乏维生素?不,它提醒你该做这件事了关于长倒刺是不是缺少维生素这个问题,经常被问到。今天我们就来聊一聊,那些掩盖在缺乏维生素之下的倒刺真相。人体皮肤的最表层是角质层,在角质层之外有一层皮脂腺负责为角质层提供油脂,来确建立良好亲子关系的6句话家庭教育的专家,是怎么说话的,让自己的孩子变成家长口中,别人家的孩子。他深受李玫瑾教授的高度认同,那他怎么说这些话的呢?1。孩子不管发生什么,我都和你在一起,我永远爱你!(安全感的暄字取名的寓意现在这个社会,大家对于名字越来越注重,找工作的时候,一个好的名字可帮助你脱颖而出,学习的时候,一个好的名字可让你更好的交朋友。而一个好的名字,在于有寓意,在于好听,在于好看,那么取给孩子办理身份证越早越好如果你们家的孩子还没有办理身份证的话呢,我劝你赶紧去抓紧时间办理一个,有的人说不是到了16岁以后才给办理身份证吗?我告诉你,你是错的,只要你们家孩子上了户口,就可以去办理身份证。还孩子吃得好就能长得高?医生太片面!3大育儿误区要避免一次和朋友聊天,聊起养娃的事情,朋友表示养个孩子真是操碎了心,原来平常自认为好的东西,到孩子那里反而影响了孩子的成长。朋友家有一个聪明帅气的小男孩,名叫聪聪。聪聪活泼可爱,很讨人喜卢店镇金摇篮幼儿园坐不住的孩子这学期开学,班里来了一个新的幼儿叫木星。对于新生的到来我心里有想过可能之前她读的幼儿园常规会和我们幼儿园有些不一样,而且又是新环境,需要老师和阿姨多给他注意下,但是等到真的接触到这
国学智慧朋友之间,关系再好也别管3件事,友谊会更长久增广贤文中有句话叫是亲不是亲,非亲却是亲。这句话的意思是跟你有血缘关系的人,不一定是你的亲人有的人跟你没有血缘关系,却胜似亲人。这句话非常恰当地形容了真正的朋友是什么样子。所以人们人再穷,不能穷格局牢记古人3句话,做个大格局之人晚清名臣曾国藩说谋大事者,首重格局。曾国藩作为一个普通耕读家庭的孩子,最终成为中兴四大名臣之一,可以说是普通人逆袭的典范,也是真正的谋大事者。那么,曾国藩为何如此推崇格局呢?格局,国学智慧与人交谈时,这4种话说得越少,越招人喜欢增广贤文说是非只为多开口,烦恼皆因强出头。人与人之间的一切合作情感等等,几乎都要通过语言交流来达成。正因为如此,在说话这件事上,就生出了许多是非与烦恼。俗语说一句话能把人说笑,一句国学有出息的孩子,往往来自这3种家庭,你家是哪种?荀子中有一句名言材性知能,君子小人一也。用大白话来说,这句话的意思是绝大部分人的智商才能和天性都是相似的,差别并不大。既然如此,为什么有的人上学能拿高分工作能拿高薪,而有的人却一辈国学智慧为人处世的高手,身上会有3个表现,你有几个?红楼梦中有这样一句名言世事洞明皆学问,人情练达即文章。意思是说如果你把世间的事都弄懂了,会发现到处都是学问如果你把人情世故都摸透了,会发现哪里都是文章。自古以来,泱泱华夏就是一个非穷人为什么穷?掌握孙子兵法3个点,悄悄超越身边人孔子说财富和地位,是每个人都向往的。财务自由,是绝大部分人的毕生追求。但在生活中,很多人辛辛苦苦加班获得的那点儿工资,根本不能称为财富那只是生活的基本保障。这个世界上80的财富,掌与人相处时,掌握红楼梦中3条社交技巧,做个高情商的人曾经有读者朋友问如果只能推荐一部文学作品,你会推荐哪一部?我的答案是红楼梦。众所周知,红楼梦是一部具有世界影响力的人情小说。所谓人情小说,就是描写人们如何处理人际关系各种矛盾的作品情商高会来事的人,往往掌握了3个社交技巧,值得借鉴在生活中,人们通常会把那些头脑灵活善于处理各种复杂事物的人,称作情商高会来事儿。尤其是在职场上,一个会来事儿的人,往往更受领导和同事的喜欢。这样的人,发展空间也更大。在不善于社交的开店做生意的人,要掌握孙子兵法3个原则,创造更多利润常言道商场如战场。如果一个人想要做生意,却不把生意当作一场战斗来打,那么他是很难赚到钱的。事实上,我们身边有很多这样的人头脑一发热,筹集了一些资金之后,就开始忙着选店址进货物,就这懂得感恩,更有出息家长明白这3条国学智慧,孩子受益诗经中曾说天下的许多父母,为了养育儿女而积劳成疾。父母之恩,可以说是世间最大的恩情之一。但可惜的是,很多孩子都没有认认真真地向父母说一声谢谢。与此同时,有不少父母把重心都放在了培养除了学习,孩子还应该知道什么?家长要明白这3条国学忠告菜根谭说教育孩子的时候,要密切注意他的思想走向,关注他正在和什么样的人来往。之所以这样说,是因为孩子在成长期间,还没有建立健全的是非观,如果形成不良的心态,或者遇到一些道德品质败坏