我想在pygame中用python代码使太阳系只有两个性质:地球绕太阳转,月球绕地球连续运行。这是我的代码:import sys, random, math

import pygame

from pygame.locals import *

pygame.init()

black = 0, 0, 0

white = 255, 255, 255

grey = 125, 125, 125

red = 255, 0, 0

blue = 0, 0, 255

width = 500

height = 500

screen = pygame.display.set_mode((width,height))

screen.fill(white)

clock = pygame.time.Clock()

font = pygame.font.Font(None, 15)

def rotate2D(x,y,angle):

angle = 0.0174532925*angle

x_r = x*math.cos(angle) - y*math.sin(angle)

y_r = x*math.sin(angle) + y*math.cos(angle)

return (x_r, y_r)

def translate2D(x,y,tx,ty):

x_t = x+tx

y_t = y+ty

return (x_t, y_t)

def show_FPS():

text = font.render('day = ' + '{:.2f}'.format(day) + ', ' + str(int(clock.get_fps())) + ' FPS', True, black, white)

textRect = text.get_rect()

textRect.bottomright = screen.get_rect().bottomright

screen.blit(text, textRect)

sun_radius = 70

earth_radius = 15

ex = 0

ey = 0

moon_radius = 10

mx = 0

my = 0

sun2earth_dis = 200

moon2earth_dis = 90

sun2earth_orbit = 0

moon2earth_orbit = 0

day = 0

flag = 1

while flag:

clock.tick(60)

for event in pygame.event.get():

if event.type == pygame.QUIT:

flag = 0

if event.type == pygame.KEYUP and event.key == pygame.K_ESCAPE:

flag = 0

screen.fill(white)

day = day+0.2

sun2earth_orbit = -(day*360.0)/365

moon2earth_orbit = -(day*360.0)/27

ex_, ey_ = translate2D(ex, ey, sun2earth_dis, 0)

ex_, ey_ = translate2D(ex_, ey_, width/2, height/2)

mx_, my_ = translate2D(mx, my, moon2earth_dis, 0)

mx_, my_ = rotate2D(mx_, my_, moon2earth_orbit)

mx_, my_ = translate2D(mx_, my_, width/2, height/2)

pygame.draw.circle(screen, red, (int(width/2), int(height/2)), sun_radius)

pygame.draw.circle(screen, blue, (int(ex_), int(ey_)), earth_radius)

pygame.draw.circle(screen, black, (int(mx_), int(my_)), moon_radius)

show_FPS()

pygame.display.flip()

pygame.quit()

在这个密码里,地球绕着太阳转。看起来不错。现在我想让月亮绕着地球转,它一直绕着地球和太阳转。我设定地球在365天内移动太阳一个完整的圆,在月球上它将在27天内绕地球运行。在

关于细节(这是我想发展的最初想法):

轨道速度:

地球绕太阳一周365天,

月亮绕太阳转了27天

纺纱速度:

太阳在30天内转一圈,

地球在一天内转一圈,

月亮总是面向地球

我已经做到了。但是月亮是如何绕太阳转的这个想法我还不清楚。在

python月球和地球体重_地球和月球围绕太阳运行,与Python玩游戏相关推荐

  1. python月球和地球体重_地球和月球上一样重吗?——质量

    每次体检是必查的一项是什么?,,, 哈哈哈,当然是测量体重了.那么,我们人人都知道,其实体重(物理学中称之为质量)是不随着时间.地点的变化而变化的.大家知道这是为什么吗? 想必大家已经非常好奇了,这是 ...

  2. python中系列的含义_一篇文章让你彻底搞清楚Python中self的含义

    刚开始学习Python的类写法的时候觉得很是麻烦,为什么定义时需要而调用时又不需要,为什么不能内部简化从而减少我们敲击键盘的次数? 你看完这篇文章后就会明白所有的疑问. self代表类的实例,而非类. ...

  3. python module是干什么的_如何最简单、通俗地理解Python的模块?

    目录: 一.笔记 二.笔记目录 一.笔记 1) 模块 ① Python模块(Module),是一个Python文件,以.py结尾,包含了Python语句和Python对象定义,模块让你能够有逻辑地组织 ...

  4. python实用脚本 知乎_停课不停学|38 个免费 Python 项目合集,从小白到老司机!...

    1665 年,牛顿在剑桥三一学院就读期间,伦敦发生了著名的鼠疫.这场鼠疫几乎摧毁了整个伦敦城,无论是下层人民还是王室贵族都难逃魔掌,几乎五分之一的伦敦人都在这场鼠疫中丧生. 牛顿被迫回家进行自我隔离, ...

  5. python怎么写出来的_如何写出优雅又地道的Python代码?【转载】

    在Python社区文化的浇灌下,演化出了一种独特的代码风格,去指导如何正确地使用Python,这就是常说的pythonic.一般说地道(idiomatic)的python代码,就是指这份代码很pyth ...

  6. python海龟编辑器画小汽车_【海龟编辑器下载】海龟编辑器(Python编辑器) v1.3.4 官方免费版-趣致软件园...

    海龟编辑器是一款专为广大少儿打造的Python编辑器,该软件功能强大且使用便利,可以帮助孩子们以搭积木的方式来学习Python,并且支持Python代码和图形化积木的双向互相转译,不但可以有效提升孩子 ...

  7. python鸭制作类代码_详细解释ducktyping鸭子类型程序设计与Python的实现

    在程序设计中,鸭子类型(英语:duck typing)是动态类型的一种风格.在这种风格中,一个对象有效的语义,不是由继承自特定的类或实现特定的接口,而是由当前方法和属性的集合决定. 这个概念的名字来源 ...

  8. python如何创建工程预设_如何在sublime3项目设置中设置python模块的搜索路径?ImportError: No module named *的解决办法...

    问题:之前使用pycharm,用的挺溜,但是电脑配置实在不争气,pycharm启动久了,耗去大量内存,导致运行起来越来越慢,于是转向使用sublime text. 把项目从pycharm切换到subl ...

  9. python程序员专用壁纸_程序员炫技必备:用Python生成马赛克画!(文末附源码)...

    原标题:程序员炫技必备:用Python生成马赛克画!(文末附源码) 源 | Python与数据分析文 | 强哥 大家知道马赛克画是什么吗?不是动作片里的马赛克哦~~ 马赛克画是一张由小图拼成的大图,本 ...

最新文章

  1. [转]Java + TestNG + Appium 实现单机多个Android终端并发测试
  2. linux每天进步一点点-7月4.5.6日
  3. Kubernetes — 调度系统
  4. 高端唯有定制,把 sublime 打造成专属的 IDE
  5. Vue-Cli Error: EACCES: permission denied 解决方案
  6. Redis缓存异常的容错实现方法( .net)
  7. android立体3D效果_谷歌裸眼3D动物意外蹿红,掀起一股AR体验小高潮
  8. 若变量已正确定义并赋值,不符合c语言语法的表达式是____.,若变量已正确定义并赋值,表达式______不符合C语言语法.A、a*b/c; B、3.14%2 C、2,b D、a/b/...
  9. java软件开发毕业论文_基于java软件毕业论文.doc
  10. Vue3中文文档 - vuejs
  11. python微博爬虫程序_基于Python的新浪微博爬虫程序设计与研究
  12. 算法(字符串)——重复的子字符串
  13. 图片base64编码解码
  14. python使用influxdb-client管理InfluxDB的bucket
  15. JavaScript 的 Math.floor() 函数
  16. trinity运行原理及常见报错(一)
  17. 大数据基础习题(2)
  18. 暴风酷播云二期配置_暴风播酷云二期 黑群晖
  19. from . import *(*是指模块名)具体代表的意思
  20. 穿上我最爱的格子衫,让别人说去吧! (严肃格子衫选购指南)

热门文章

  1. 俄罗斯方块java消行_Tetris ai 俄罗斯方块自动消行程序
  2. CocosCreater的俄罗斯方块游戏实现
  3. 基于遗传算法的南昌周边城市旅游规划研究(Python实现)
  4. 章鱼网络进展月报 | 2022.10.1-10.31
  5. MSXML2.ServerXMLHTTP
  6. Ewebeditor的问题
  7. 在你生日那天,哈勃望远镜看到了什么
  8. Remove special file to special folder
  9. 人肉搜索:网络隐私权的侵犯与保护
  10. 乌班图linux分辨率不能调,ubuntu分辨率1024*768无法选择解决方法