首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

用 Python 动态模拟太阳系运转

提到太阳系,大家可能会想到哥白尼和他的日心说,或是捍卫、发展日心说的斗士布鲁诺,他们像一缕光一样照亮了那个时代的夜空,对历史感兴趣的小伙伴可以深入了解一下,这里就不多说了。...太阳以巨大的引力使周边行星、卫星等绕其运转,构成了太阳系,它主要包括太阳、8 个行星、205 个卫星以及几十万个小行星等,本文我们使用 Python 来简单的动态模拟一下太阳系运转。...size = width, height = 800, 600 screen = pygame.display.set_mode(size) pygame.display.set_caption("太阳系...") # 创建时钟(控制游戏循环频率) clock = pygame.time.Clock() # 定义三个空列表 pos_v = pos_e = pos_mm = [] # 地球、月球等行星转过的角度...总结 本文我们使用 Python 简单模拟了太阳系运转,有兴趣的小伙伴可以自己运行一下代码或对功能做进一步扩展。

59920
您找到你想要的搜索结果了吗?
是的
没有找到

【Web动画】CSS3 3D 行星运转 && 浏览器渲染原理

最近入坑 Web 动画,所以把自己的学习过程记录一下分享给大家。 CSS3 3D 行星运转 demo 页面请戳:Demo。...嗯,可能有些人打不开 demo 或者页面乱了,贴几张效果图:(图片有点大,耐心等待一会) CSS3 3D 行星运转效果图 ? 随机再截屏了一张: ?...然后,这个 CSS3 3D 行星运转动画的制作过程不再详细赘述,本篇的重点放在 Web 动画介绍及性能优化方面。详细的 CSS3 3D 可以回看上一篇博客:【CSS3进阶】酷炫的3D旋转透视。...Demo 当中有使用 Javascript 写了一个鼠标跟随的监听事件,去掉这个事件,整个行星运动动画本身是纯 CSS 实现的。...CSS3 3D 行星运转 demo 页面请戳:Demo。(建议使用Chrome打开) 本文完整的代码,以及更多的 CSS3 效果,在我 Github 上可以看到,也希望大家可以点个 star。

2.5K70

实验8 OpenGL太阳系动画

图A.8 太阳系动画 3.实验原理: (1)主要用三维平移变换、旋转变换实现太阳、地球、月亮的相对运动。   本节实验绘制了一个简单的太阳系。...为了编写这个程序,需要使用glRtate函数让这颗行星绕太阳旋转,并且绕自身的轴旋转。还需要使用glTranslate函数让这颗行星远离太阳系原点,移动到自己的轨道上。...绘制一颗绕太阳旋转的行星要求进行几次模型变换。这颗行星需要每天绕自己的轴旋转一周,每年沿着自己的轨道绕太阳旋转一周。   为了确定模型变换的顺序,可以从局部坐标系统的角度考虑。...第二次调用glRotate函数使局部坐标轴进行旋转,因此确定了这颗行星在一天中的时间。当调用了这些函数变换之后,就可以绘制这颗行星了。 (2)利用双缓存技术实现动画效果。   ...| GLUT_DEPTH); glutInitWindowPosition(100,100); glutInitWindowSize(600, 400); glutCreateWindow("太阳系动画

2.1K10

Canvas基本动画-太阳系动画

动画的基本步骤 1、清空canvas 除非接下来要画的内容会完全充满canvas(例如背景图),否则你需要清空所有,最简单的方法是使用clearRect方法 2、保存canvas状态 如果你要改变一些会改变...canvas状态的设置(样式,变形之类的),又要在每画一帧之时都是原始状态的话,你需要先保存一下 3、绘制动画图形 4、恢复canvas状态 如果已经保存了canvas的状态,可以先恢复它,然后重绘下一帧...下面是MDN网站关于Canvas基本的动画章节中的一个例子。是一个相对比较综合的例子,涉及到画布很多基础并常用的用法,包括canvas的如何使用图片,坐标原点的移动,画布的旋转,状态的保存与恢复等。...ctx.drawImage(sun, 0, 0, 300, 300); window.requestAnimationFrame(draw); } init() 查看动画效果

82130

搭建太阳系可视化系统,带你探索宇宙的未知奥秘

站在更高的立足点上,作为人类这个物种中的一员,我们理所应当对我们生活的星球、所在的太阳系有一定的认识,对 8 大行星各自的运行轨道、质量、资源存储量甚至是地形有一定的了解。...效果实现 主题一:太阳系检测系统 本系统主要展示8大行星绕太阳公转轨道、相对位置、星体质量、资源含量等信息。 右上角行星按钮会触发视角切换,切换至相对应的行星观测点。...在这里我简单介绍下太阳系及8大行星,加深下对太阳系的了解: 1.水星是八大行星中最小的一个,水星上的温差极大; 2.金星以顺时针方向自转,太阳西升东落;自转速度非常缓慢; 3.地球是人来已知的唯一有生命存在的星球...天王星上的一年约等于地球上的84年; 8.海王星也是一颗冰质巨行星,它有着荧荧的淡蓝色光。 而太阳系中所有天体都围绕太阳这颗恒星运转。...1.点选左上角的切换按钮: 左上角部分均为导航栏的响应范围,鼠标悬停时会改变动画控制器 animationFlags 的对应值,触发导航栏落下来,悬停和点选按钮会通过 setImage 方法设置不同的背景

74330

搭建太阳系可视化系统,带你探索宇宙的未知奥秘

站在更高的立足点上,作为人类这个物种中的一员,我们理所应当对我们生活的星球、所在的太阳系有一定的认识,对 8 大行星各自的运行轨道、质量、资源存储量甚至是地形有一定的了解。...效果实现 主题一:太阳系检测系统 ? 本系统主要展示8大行星绕太阳公转轨道、相对位置、星体质量、资源含量等信息。 右上角行星按钮会触发视角切换,切换至相对应的行星观测点。...在这里我简单介绍下太阳系及8大行星,加深下对太阳系的了解: 1.水星是八大行星中最小的一个,水星上的温差极大; 2.金星以顺时针方向自转,太阳西升东落;自转速度非常缓慢; 3.地球是人来已知的唯一有生命存在的星球...天王星上的一年约等于地球上的84年; 8.海王星也是一颗冰质巨行星,它有着荧荧的淡蓝色光。 而太阳系中所有天体都围绕太阳这颗恒星运转。 效果如下: ?...点选右侧对应检测点,会触发右侧点的缩放动画,同时左侧对应的 3D 点位也会同步变化。 效果如下: ? 关联:三个主题(系统)的联动 三个系统是互相关联的,相互切换的方式有三种。

41320

太阳系行星运行轨道图,C语言,源代码分享

【精选】太阳系八大行星运转轨迹程序,C语言,源代码分享 程序展示 太阳系八大行星运行图 一、项目环境 1.Visual Studio 2022 2.安装easyx图形库,可以调用头文件 #include...Easyx图形库 点击跳转到easyx图形库下载官网 二、运行效果展示 三、项目介绍 是一款模拟太阳系八大行星运转轨迹程序,无聊中。。...#include int i,j=0,sudu; int x, y,p,q=1,f=0; void beijingtupian(); void SunandTrack()//太阳与八大行星运行轨迹...beijingtupian(); //绘制太阳 setfillcolor(RGB(255, 0, 0));//太阳的颜色是红色 solidcircle(0, 0, 75);//太阳坐标 //绘制行星运转轨迹...long long y8 = -450, x8, p8, f8 = 0, q8 = 3, b8 = 450, a8 = 500;//海王星 BeginBatchDraw(); while (1)//行星运动嘛

19910

震撼可视化,讲述宇宙生命和宇宙垃圾

宇宙生命可视化 如果地外生命和地球生命类似的话,那么它们很可能居住在距离太阳系几千甚至几百万光年之外的类地行星上。如今,天文学家已经用NASA的开普勒太空望远镜探测到了1700多个太阳系行星。...尽管我们很难想象如此多行星的模样,但华盛顿大学的一名天文学研二学生EthanKruse找到了一个方法。他制作了一段动画,使人们目眩神迷的同时倍感卑微。...其中每一个圆圈都是一颗行星,最右边则是我们的太阳系。2009年,NASA将开普勒望远镜发射到太空,自此之后所识别的每一颗行星都在这幅动画中了。...它一共显示了1,705颗太阳系行星,它们分属于685个行星系(正如我们的太阳系),许多恒星系统拥有不止一颗行星。...此外,视频左侧有一个温度计量器,对应各个行星的不同温度(单位为开尔文)。动画中的行星位置并不与它们在银河系中的真实位置一一对应。 其中,许多行星比地球大得多,且极其炎热。

74070

Web框架与太阳系

在说明设计方案之前,不妨放松一下心情,聊聊看似风马牛不相及的太阳系: Solar System 在我小时候,课本上教的是太阳系有九大行星,分别是:水星、金星、地球、火星、木星、土星、天王星、海王星和冥王星...其中,冥王星较小,后来,人们发现还有一些和冥王星类似的天体也在围绕太阳运转,如果冥王星被划为行星的话,那么这些天体无疑也属于行星,此时太阳系到底有几大行星的问题彻底让天文学家蒙圈了,最后他们耍了一个小聪明...,剥夺冥王星的行星资格就行了,从此太阳系就只剩八大行星了。...当然,我并不是让你关注这些天文学上的八卦往事,实际上我希望你关注的是太阳系的结构模式:有的行星是丁克家庭,没有卫星,比如水星和金星;有的行星是计划生育标兵,比如地球只有一个卫星(月亮);有的行星是超生游击队...卫星沿着自己的轨道围绕着行星旋转,行星沿着自己的轨道围绕着太阳旋转,这就是太阳系

50620

教你如何用Three.js创造一个三维太阳系

前言 笔者认为Three.js是一个伟大的框架,为什么这样说,因为它可以让我们轻易创造三维世界,甚至好像笔者写这遍教程,可以创造一个太阳系,在这个三维世界里你就是创世主。哈哈!好像说得有点夸!!...三维太阳系完整效果 了解一些基本天文知识 学习创造这个三维太阳系之前先了解一下基本的天文知识:太阳系有“八大行星”,按照离太阳的距离从近到远,它们依次为水星、金星、地球、火星、木星、土星、天王星、海王星...] 了解Three框架 Three的一些基本概念我在用最简单方式打造Three.js 3D汽车展示厅一文也粗略介绍一下,为了让同学们加深理解,笔者就相对于太阳系来比如一下 场景 Sence 相当于太阳系...(繁星背景) 这个满天星效果是太阳系的背景,运用到Three的粒子系统,行星密度可自行调整 const starForge = () => { const starQty = 10000...] 海王星的纹理贴图 [neptune.jpg] 最后 一个三维太阳系就创造出来啦,这个例子也是很适合刚入门three.js的同学,目的也是提高对三维的兴趣,提高自身成就感。

2.6K43

寻找有生命的行星

Lucianne Walkowicz: Finding planets around other stars 太阳系之外的行星系 就好象遥远的城市,我们可以看见有灯火在闪烁 通过研究这些闪烁, 我们可以了解到恒星是如何与行星相互作用...来形成他们自己的生态系统 并创造出适宜生命繁衍的栖息地 最新型的 行星探测空间望远镜,开普勒任务 通过每半个小时一次 精确地测量全部15万颗 行星的光谱 我们想要寻找 是行星在移动过程中 经过恒星时阻挡住射向我们的...一部分光线所造成的暗淡 在仅两年的运行后 我们发现了超过1200个 可能是围绕其他恒星运转行星系统。...一是可以确认那里有一颗行星, 还有它的大小, 和距离它所围绕的恒星的距离。 除了整体上行星会接受到多少光线, 对恒星的还有许多其他的信息需要了解 太阳的表面 有一些斑点。...行星就沐浴在这些强力的射线中。 研究恒星与各个 行星之间的关系。 来摸索出一些线索 好像我们知道在茫茫太空中哪些行星 可能是会找到生命的地方。

58550

three.js 郭先生制作太阳系

今天郭先生收到评论,想要之前制作太阳系的案例,因为找不到了,于是在vue版本又制作一版太阳系,在线案例请点击three.js制作太阳系(加载时间比较长,请稍等一下)。...话不多说先看效果图 image.png image.png image.png image.png image.png 相比于上一个版本,这个版本制作更加细致,动画更加流畅。...先介绍一下变量 这里查了一些资料radiuses、distances、pub_rotation、self_rotation、pitchs分别为八大行星半径比、到太阳的距离比、公转比、自转比、自转轴倾角比...使用动画,提升逼格 这里使用了tween控制相机的position和lookat属性,实现空间穿梭的感觉。...this.animation_time).onStart(() => this.show10 = false); tween1.start(); }, 主要代码差不多就是这样,像这样制作太阳系并不难

1.4K50

基于 HTML5 + WebGL 的宇宙 3D 展示系统

站在更高的立足点上,作为人类这个物种中的一员,我们理所应当对我们生活的星球、所在的太阳系有一定的认识,对 8 大行星各自的运行轨道、质量、资源存储量甚至是地形有一定的了解。...Solar System 这套系统主要用于两种场景:   1.作为科研成果、新发现的载体,做 3D 太空数据可视化呈现,用于向普通民众科普太阳系的构成、各行星组织结构等知识,可置于博物馆大屏、学校大屏,...预览地址: https://www.hightopo.com/demo/solar-system/ 界面简介及效果预览  主题一:太阳系检测系统  本系统主要展示8大行星绕太阳公转轨道、相对位置、星体质量...点选右侧对应检测点,会触发右侧点的缩放动画,同时左侧对应的 3D 点位也会同步变化,其它的点则调用 setAnimation(null) //......1.点选左上角的切换按钮:   左上角部分均为导航栏的响应范围,鼠标悬停时会改变动画控制器 animationFlags 的对应值,触发导航栏落下来,悬停和点选按钮会通过 setImage 方法设置不同的背景

64710

人类借助AI技术发现了“迷你太阳系

这也就意味着,就如同太阳有8大行星环绕一样(分别是金星、木星、水星、火星、土星、地球、天王星、海王星),开普勒-90星系从此与太阳系并列成为行星数量最多的星系,堪称“迷你太阳系”。...图:随着第八颗行星的发现,开普勒90星系首次在行星数量上,和太阳系平起平坐了 这项研究表明,NASA的科学家们通过谷歌机器学习技术分析开普勒太空望远镜的观测数据,效率和效果远超传统的分析方法。...NASA认为,谷歌AI技术将有助于在太阳系外探测到外星生命的迹象。...之所以称开普勒90星系为“迷你太阳系”,是因为它就像太阳系的一个迷你版本,体积较小的行星在内圈环绕,体积较大的行星在外圈,只是相互之间距离挨的更近一些——当中最外围的行星——开普勒-90h围绕恒星旋转的距离与地球围绕太阳旋转的距离相似...开普勒80g与相邻的四颗行星形成了所谓的共振链——在这个共振链中,行星会被彼此的引力锁定,在轨道上有节奏地运转,结果是形成一个非常稳定的系统,这种情况类似于TRAPPIST-1星系的七颗行星

67150

基于 HTML5 + WebGL 的宇宙 3D 展示系统

站在更高的立足点上,作为人类这个物种中的一员,我们理所应当对我们生活的星球、所在的太阳系有一定的认识,对 8 大行星各自的运行轨道、质量、资源存储量甚至是地形有一定的了解。...Solar System 这套系统主要用于两种场景:   1.作为科研成果、新发现的载体,做 3D 太空数据可视化呈现,用于向普通民众科普太阳系的构成、各行星组织结构等知识,可置于博物馆大屏、学校大屏,...预览地址: https://www.hightopo.com/demo/solar-system/ 界面简介及效果预览 主题一:太阳系检测系统 ?...本系统主要展示用户所点选的行星与其它星际物质的相互作用,也可用于展示行星周围卫星的分布情况,以及展示星体间引力、辐射范围等的拓扑结构。...点选右侧对应检测点,会触发右侧点的缩放动画,同时左侧对应的 3D 点位也会同步变化,其它的点则调用 setAnimation(null) //...

1.2K30

js动画和css3动画_js控制css动画

动画 js动画 css动画 Web动画的本质是元素状态改变造成的样式变更,CSS动画JS动画的区别并不是由语言来决定的,而是由两者的特点和适用场景来判断的。...,JS动画就会显得更加清晰且易维护 js动画 缺点: JavaScript在浏览器的主线程中运行,而主线程中还有其它需要运行的JavaScript脚本、样式计算、布局、绘制任务等,对其干扰导致线程可能出现阻塞...动画效果比css3动画丰富,有些动画效果,比如曲线运动,冲击闪烁,视差滚动效果,只有JavaScript动画才能完成 CSS3有兼容性问题,而JS大多时候没有兼容性问题 css动画 CSS动画通常指使用...CSS动画JS流畅的前提: JS在执行一些昂贵的任务 同时CSS动画不触发layout或paint 在CSS动画JS动画触发了paint或layout时,需要main thread进行Layer树的重计算...,这时CSS动画JS动画都会阻塞后续操作。

12.3K30

数字孪生 3D 科技馆的科学传播新模式

Hightopo 可视化技术将长征火箭系列原型通过三维动画真实呈现出来,手动点击“长征火箭”按钮,长征火箭的基本信息(包括级数、长度、起飞推力、GTO 载力等)、型号、发射记录将详细展示在 2D 面板上...除此之外,HT for Web 自主研发的 2D、3D 引擎,经过搭建场景、搭配数据面板以及动画驱动制作了卫星发射 demo,1:1 模拟了火箭升空及卫星绕轨。...太阳系 太阳系是一个以太阳为中心,受太阳引力约束在一起的天体系统,包括太阳、行星及其卫星、矮行星、小行星、彗星和行星际物质。...人类对于太阳系的探测显著带动了科学创新、技术突破和应用拓展;增长了对宇宙尤其是太阳系的认知、拓展了知识疆界;提高了认识和保护地球、拓展生存空间的能力,激励了年轻一代的探索、发现和挑战精神。...Hightopo 建立的基于 HTML5 的太阳系 3D 可视化系统,主要展示 8 大行星绕太阳公转轨道、相对位置、星体质量、资源含量等信息,相对位置清晰直观,3D 地形与等高线图对应,海拔高度和相互遮挡关系都可以准确把握

34510
领券