月球引力常数范文
时间:2023-04-04 15:40:04
导语:如何才能写好一篇月球引力常数,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。
篇1
1、首先,开普勒有三大天文定律(都是针对行星绕太阳运动的) 行星运动第一定律(椭圆定律): 所有行星绕太阳的运动轨道是椭圆,太阳位于椭圆的一焦点上,行星运动第二定律(面积定律): 联接行星和太阳的直线在相等的时间内扫过的面积相等。 行星运动第三定律(调和定律)。
2、行星绕太阳运动的公转周期的平方与它们的轨道半长径的立方成正比,牛顿的万有引力定律是在调和定律的基础上提出的假设,并且被科学观测所验证。万有引力的内容用公式表示就是: F=G*M1*M2/(R*R) 开普勒的调和定律认为: T*T/(R*R*R)=常数 如果我们考虑两个做星体运动的星体,以一个质量为M1的星体做参考系,那么可以看成质量为M2的星体绕M1做圆周运动,而它们之间的万有引力提供了它们做圆周运动的向心力。
3、M2*(W*W)*R=G*M1*M2/(R*R) 而W=2*3.14/T带入上面的式子就可以得到T平方比上R的三次方是定制,也就是开普勒定律所阐述的内容,这样就证明了牛顿引力定律. 其实科学的讲,这不叫证明,因为牛顿定律是牛顿想出来的,再通过一系列科学的观测数据来核实的,并不能从根源来证明,开普勒也是实验天文学家,他是通过对天文资料的长期观测总结猜想出他的三大定律的,物理学的发现往往就是通过猜想的,答案补充 G,是万有引力系数,是常数,是规定死的,=6.67乘以10的负11次方,牛米方除以千克方答案补充 牛顿知道有个引力常数,但是他没测试出来,测试出来的是英国物理学家卡文迪许,通过铅球试验测试出G的数值答案补充 假定维持月球绕地球运动的力与使得苹果下落的力真的是同一种力的话,同样遵从平方反比的规律,那么,由于月球轨道半径约为地球半径的60倍,所以月球轨道上一个物体受到的引力,比它在地面附近时受到的引力要小,前者只有后者的60的平方分之一.根据牛顿第二定律,物体在月球轨道上运动时的加速度,也就是月球公转的向心加速度,也就应该是它在地面附近下落时的加速度的60的平方分之一答案补充 知道月球与地球的距离,月球公转的周期,从而能够算出月球运动的向心加速度.答案补充 数据表明,地面物体所受地球的引力,月球受到地球的引力,以及太阳与行星间的引力,是遵从同样的规律,所以,证明了万有引力的存在答案补充 m括号2派除以T括号的平方乘以R=mg,化简得4派方R除以T方=a。
(来源:文章屋网 )
篇2
High School Physics Related to "Celestial Movement"
Problem-solving Analysis
LI Xing
(Lanzhou No.58 Middle School, Lanzhou, Gansu 730000)
Abstract Discovery of the law of gravity is one of the greatest achievements of natural science. In this paper, starting from the practical examples, summarized the law of gravity several types and basic methods to solve these problems in practical application, describes the "piecemeal" and other physical ideas.
Key words centroid spacing; orbital radius; planet radius; rotation period
万有引力定律揭示了天体运动的规律,在天文学上和宇宙航行的计算方面有着广泛的应用。学生在这一章节的学习中,由于公式较为繁杂,解法灵活多变,对一些相近的概念容易混淆,从而出现解题失误。在多年从事高中物理一线教学的过程中,笔者整理总结了两类相近的物理量,加以对比剖析,以求能帮助学生走出误区,正确地掌握解题方法。
1 三个距离的联系与区别
在这一章中,很多题目要求根据一些环绕天体(如人造卫星等)来解决中心天体的某些参数。在这一类问题中,有关星球半径、轨道半径和质心间距这三个长度物理量的处理,往往成为了一些学生解题中的困惑之处。不能正确处理这三个长度关系,是学生在解决这类问题中常常出现的一个易错点。
首先我们来对三种长度物理量来进行区分。
(1)质心间距:万有引力定律告诉我们:自然界中任何两个物体都相互吸引,引力的大小与物体质量乘积成正比,与它们距离的二次方成反比。从公式 = 可看出,这里的指的是两物体质心间的间距。
(2)轨道半径:本章内容有很多问题就是让环绕天体仅在中心天体的万有引力下做匀速圆周运动,由向心力公式 = 可看出,这里的是指物体做匀速圆周运动的轨道半径。
(3)星球半径:在求解某一未知天体的密度问题中,由球体体积公式 = 引出第三个长度,此处的是指星球半径。同时,在有些问题中由于已知条件里包含了某一星球表面的重力加速度,往往要利用黄金代换 = (注:该等式并非一级公式,应用时应写出原始公式)将未知量用已知量表示,也就要求引入星球半径。
综上,只有正确理解了这三个距离的关系,才不会在解题时出现约分错误。
应注意到:双星问题模型中,三者皆不相等;环绕天体绕中心天体在高轨道上做匀速圆周运动时,圆周运动的轨道半径等于环绕天体和中心天体质心间距;在近地卫星模型中,三者相等。下面我们通过几个具体事例来分析。
例1:(2010年全国卷Ⅰ)如图1,质量分别为m和M的两个星球A和B在引力作用下都绕O点做匀速圆周运动,星球A和B两者中心之间的距离为L。已知A、B的中心和O三点始终共线,A和B分别在O的两侧。引力常数为G。
图1
(1)求两星球做圆周运动的周期;
(2)在地月系统中,若忽略其它星球的影响,可以将月球和地球看成上述星球A和B,月球绕其轨道中心运行的周期记为T1。但在近似处理问题时,常常认为月球是绕地心做圆周运动的,这样算得的运行周期记为T2。已知地球和月球的质量分别为5.98??24 kg和7.35??22 kg。求T2与T1两者平方之比(结果保留3位小数)。
【解析】:(1)这是一道典型的双星问题。该类问题的特点是两星球的周期相等,并在彼此之间的万有引力作用下做匀速圆周运动,故而向心力也相等。但解题易错点在于两星球的质心间距并不等于各自做匀速圆周运动运动的轨道半径。即上文提到的 ≠ 。
设星球A、B各自做圆周运动的半径分别为、,周期为T,则根据万有引力定律对A卫星分析可知: = ,式中 = ( + );又 = ,联立解得: = 。
(2)T2的求解方法中,就涉及到了环绕天体绕中心天体做匀速圆周运动这类模型,其中两星球的质心间距等于环绕天体做匀速圆周运动的轨道半径,即上文提到的 = 。
设地球和月球的球心间距为,地球和月球质量分别为、则由第一问可知: = ;当月球绕地球做匀速圆周运动时,地球对月球的万有引力提供了月球绕地球做匀速圆周运动的向心力,即有: = ,解得: = ;代入数据解得:()2 = 1.012。
【点评】:通过比对不难发现,该题涉及的问题即为上文中提到的质心间距以及轨道半径这两种不同的距离之间的差别。在解题时应格外谨慎,不能盲目套用公式。
例2:在某行星上以初速度自地面竖直向上弹射一个小球,用秒表测得小球经时间落回地面,已知该行星的半径为,如果在该行星上发射一颗卫星,则卫星在该行星表面附近环绕的周期为多少?(行星表面无空气)
【解析】:分析题目可知,该卫星是近地卫星模型。在上文中提到过,对近地卫星模型而言,卫星和星球的质心间距等于该卫星的轨道半径,也等于该星球的半径。即 = = 。
设该行星表面的重力加速度为,质量为,卫星质量为。则由运动学规律: = ;在星球表面,有: = ;卫星做匀速圆周运动的向心力由行星对其的万有引力提供,故有: = ;又由题意: = = ,联立解得: = = = 。
【点评】:在这道题中,所涉及的长度关系是上文中提到的质心间距、星球半径、轨道半径三者相等的情况。这类问题的解决过程中,要特别注意黄金代换式的合理应用。
2 两个周期的区别
(1)公转周期:公转周期是行星绕恒星或是卫星绕行星转动一周所用的时间。卫星的公转周期一般都由万有引力提供向心力这条思路求解,即由 = 解得,又由于公转周期一般比较容易测得,有时候也可通过反向代入,解出有关中心天体的一些具体参数。
(2)自转周期:自转周期是一个天体沿自转轴自转一周所需的时间。
要注意到二者一般并不相等,比如地球的公转周期约为365天,但自转周期仅有24小时。某星球自转周期求解是学生的一大难点,很多学生在解题过程中也容易混淆二者。以下面为例:
例3:已知地球质量为,半径为,地球表面赤道处重力加速度为,万有引力常量为。试根据以上数据求出地球自转周期。
【解析】:很多同学会直接由 = 得出错解 = ;实际上这里解出的T并非地球自转周期,而是近地卫星贴着地球表面在飞行时的公转周期。事实上,题目中给的条件“赤道处的重力加速度”是解决本题的关键。我们知道,在地球表面,万有引力分为了两个分力,其一是重力,其二是物体随地球自转的自转向心力。应有,仅仅在地球的赤道处,由于这三个力都指向地心,所以可以将该矢量式写成标量式。其中,利用自转向心力可以求解地球自转周期。
设地球自转周期为,赤道处有一质量为的物体正随地球自转,则应有 = + ,即 = + ,解得: = 。
【点评】:这道题目是一道典型的自转周期的求法的题目。通过这道题目的讲解,力求能让学生对两种不同的运动周期加以区分,在解题时能够选择正确合理的方法进行求解。
练习:质量为的物体在某星球“赤道”的重力比“两极”小10%,该星球的自转周期为,则当该行星的自转角速度为多少时,物体能在“赤道”上飘起来?
【解析】:在星球上,两极处的万有引力完全等于重力,赤道处的万有引力等于重力和自转向心力的代数和。已知自转周期,即可以表示出自转向心力,从而解出近地轨道上的万有引力,由该万有引力提供向心力,即可解出需要飘起来所对应的角速度了。
= + , = 10 ,又物体漂浮,即有 = ; = ,即10 = ,解得: = 。
篇3
关键词:卫星发射仿真;OpenGL;3D建模;可视化仿真;动画效果
中图分类号:TP391.9文献标识码:A 文章编号:1009-3044(2011)16-3933-03
Research and Implementation on Simulation System of Satellite into Orbit Based on OpenGL
ZHANG Tong
(Department of Computer Science, Tongji University, Shanghai 201804, China)
Abstract: Describe the development and implementation on the OpenGL-based satellite launching orbit simulation system, including program design framework, the specific module package, object model design, satellite design and implementation process of the visual, animation effects, and so on. Realize the dynamic simulation of satellite launched into orbit.
Key words: simulation of satellite launch; OpenGL; 3D modeling; visual simulation; animation effects
目前,随着我国空间信息科学技术研究的深入,在卫星发射中引入三维可视化图形技术已是必然的趋势。因此,结合当前的要求,开发有真实感的卫星发射至入轨过程仿真软件,具有一定的实用意义。
SGI公司推出的OpenGL三维图形库因其易于使用而且功能强大而成为高性能图形和交互式视景处理的标准[1]。但OpenGL没有提供高级命令函数来定义复杂的三维模型,而只提供点、线、多边形的方式来构建三维模型;虽然提供了创建复杂几何物体的机制,却未提供描述复杂的几何物体以及建立复杂几何物体模型的手段,所以描述卫星三维模型是一项艰巨的工作。采用借助三维建模软件(3DSMAX)建造卫星模型既有利于三维仿真,也有利于模型运动的计算和控制,可减少大量工作量。但3DS数据格式只能保存和转换几何信息,色彩,材质等信息可能会在转换时丢失,在程序的编写过程中要对色彩和材质等进行处理。
本文在OpenGL三维图形编程环境中,使用3D Max建立卫星模型并将其导入OpenGL,调用OpenGL图形库的函数,并通过对卫星轨道方程的计算,设计天体模型,实现卫星飞行过程的视觉设计和动画效果,达到卫星发射至入轨过程的仿真目的。在实现过程中,使用了OpenGL提供的动画机制,是整个画面看起来更流畅,更具有真实感。
1 卫星轨道方程的计算
1.1 卫星在轨运行的无摄运动
若将地球或任何一个探测目标天体(如大行星,小行星等)看成一个质量密度分布均匀的球体,则它对绕其运行的卫星的引力作用可等效于一个质点,相当于质量全部集中在该天体质心上,于是就构成一个简单的二体系统,一个中心天体和一个运动天体。以地球和人造卫星为例,将坐标系的原点放在地心上。讨论人造卫星相对地心的运动,则卫星运动方程可写成:
(1)
其中 r 是卫星相对于地心的位置向量,h 是卫星的高度即地心距,μ = GM 是地心引力常数,M 表示地球质量。
1.2 二体问题的积分与轨道常数
研究两个质点在万有引力作用下的运动规律的问题被称为二体问题。若将地球看成质量密度分布均匀的球体,则它对绕其运行的卫星的引力作用可等效为一个质点,相当于质量全部集中在地球的质心,即地心上,于是就构成一个以地球为中心天体、卫星为运动天体的简单二体系统。
二体系统的积分公式与轨道常数是本系统程序核心算法的基础[2]。以下列出主要积分公式:
人造卫星绕地球的运动为一平面运动,相应的动量矩积分可写成:
(2)
其中,h为面积速度常数,R表示面积速度方向,它是卫星运动平面的法向单位矢量。
人造地球卫星运行轨迹为椭圆,地心在椭圆的焦点上。以下为轨道积分之一,其中e和ω即两个新的轨道常数:
(3)
卫星运动即在以上数学基础上进行研究。
2 程序设计框架
本程序以Visual C++6.0作为编程开发平台,调用OpenGL三维图形库,使用3D Max建立卫星模型并保存为3DS数据格式,将3D模型导入OpenGL,再通过坐标的变换、渲染、纹理、光照、混合等功能,充分利用一些已有的模块,实现卫星发射至入轨过程的仿真。程序主体框架如图1所示。
3 天体模型的设计与实现
3.1 绘制天体的父类设计
本系统中最终的卫星发射至入轨过程的动态显示画面中应包含地球、太阳、月亮、星空以及卫星。除了卫星,其他几种景物的实现都可归结为球体模型的构建,星空的实现也需借助于球体:即将整个系统置于一个半径很大的虚拟球体中,在此球体表面映射上星空的纹理,这样在系统中任何角度都能看到星空的景象,并且具有一定的立体感。基于这种实现上的需要,设计一个名为CModelObj的类作为其父类,通过C++提供的继承机制,派生出所需要的子类。
根据OpenGL只提供基本几何图元(点,线,多边形)的绘制特性,球体设计的思路为:绘制多个四边形,然后将其拼接起来。
具体实现方式为:在水平方向上将球体划分为M圈(类似于地球的纬度分割),竖直方向上将球体划分为N圈(类似于地球的经度分割)。按照先从水平方向,再从竖直方向上循环绘制四边形,共需要绘制M*N个四边形。假设球体半径为r,球的中心在坐标原点,坐标系采用OpenGL中的右手坐标系[3]。
假设球面上一个顶点A,AO与y轴的夹角为φ, AO在xoz平面的投影与z轴的夹角为θ,那么A点的坐标为
(X = r*sinφ*sinθ,Y = r*cosφ,Z = r*sinφ*cosθ);
顶点A的法向量为( sinφ*sinθ, cosφ, sinφ*cosθ ),顶点的法向量用于实体光照模型中。对于第i行(0 ≤ i < N),第j列(0 ≤ j < M),φ和θ的取值为
φ = i*π/NCπ/2,θ = j*2*π/M
在顶点的计算中,不仅要计算顶点的坐标和法向量,还需要计算该顶点的纹理坐标。然后将顶点的计算结果保存在数组中,供以后调用。
3.2 天体模型的实现
地球、太阳以及月球都是按照上述方法绘制。为了增加模型的真实感,使用了纹理贴图,并且在地球增加了云层和大气层,通过一个循环自增变量控制云层的移动,模拟真实自然界大气层对光的折射。
云层在视觉上都是环绕在地球表面的半透明球体,因此也作为CModelObj的子类来处理。使用云层的纹理贴图可以使其看起来更具真实感。另外,云层的透明性通过混合处理来实现。大气层附着在云层,大气的显示颜色与观察者的观察方向、太阳的位置以及地表位置有关。地球在自转的同时,也围绕着太阳公转,这意味着在不同时刻,地球表面被光源(太阳)照亮的地方都不同,但始终只有朝向太阳的一面才能被照亮。
大气层绘制的具体实现方法为:首先计算出观察点的太阳地平纬度(即地平线与太阳的角度距离),如图2所示。
在程序中,先通过地球的位置,观察点的位置,和太阳的位置,来确定AB与地球的切点O。步骤如下:
首先,计算地球中心到太阳中心的向量EF;
其次,计算出观察位置到地球中心的向量为eyeVec;
再次,通过向量EF,和向量eyeVec,计算向量T。T与前两个向量处于同一平面,且为观察位置与地球的切线方向。从而得到切点O。切点O的具体算法可以参考程序中的函数CGEllipsoidAtmosphereRender::ellipsoidTangent;
最后,通过计算AB与EF的叉积,计算太阳地平纬度的余弦值。在后面的颜色计算中将使用地平纬度的余弦值。
计算出大气的轮廓后,只需要在地球的绘制圆环即可,同样使用四边形拼接法来绘制。如果一个圆周用M个四边形连接,一个圆环有N层,那么需要绘制N*M个四边形[4]。
最后对顶点的颜色进行处理,颜色的设置应该有大气层的厚度决定(大气层的厚度不同,对光线的折射率不同,从而显现出的颜色也就不同),并运用亮度因子进行亮度调节。最后的效果如图3所示。
4 卫星飞行过程的视觉设计及实现
在本程序的设计过程中,为了体现出卫星发射后在太空中飞行的过程,将视点设置成跟踪卫星,即视点始终跟随卫星飞行。基于以下OpenGL变换原理实现:取景变换,模型变换,投影变换,视区变换[5]。因此,以pSendUp->xcam,pSendUp->ycam,pSendUp->zcam等变量为参数调用函数gluLookAt,此函数是实现视点跟踪的关键[9]。
函数gluLookAt的函数体一共包括三组参数,分别用于指定视点的位置,定义一个相机指向的参考点和指示那一个方向向上。首先,要选择一个能得到预想场景的视点,而参考点一般位于场景的中间位置(如果已经将场景构建在了原点处,那么参考点通常就是原点)。如何确定向上的方向向量比较复杂[6]。以本程序的设计为例,在卫星飞行过程中,该方向向量应该始终垂直于机翼并向上。而当卫星到达预定轨道并显示在轨飞行时,则场景应该在原点,而且y轴的正方向向上。该函数在扫描全景时尤其有用。在x和y对称的视图体中,所指定的(eyex,eyey,eyez)点总是处在屏幕上图像的中心点处。这样就可以使用一系列的变换函数,逐渐移动该点,从而实现对场景的全景扫描。gluLookAt函数的原型为:
void gluLookAt( GLdoubleeyex , GLdoubleeyey , GLdoubleeyez , GLdoublecenterx , GLdoublecentery , GLdoublecenterz , GLdoubleupx , GLdoubleupy , GLdoubleupz )。该函数定义一个视图矩阵并将其右乘到当前矩阵上,其结果返回给当前矩阵。期望的视点由参数eyex,eyey,eyez指定,而参数centerx,centery,centerz指定期望视线上的任意一点,通常取观测场景中心的点,这两点就确定了视线的方向。参数upx,upy,upz指定向上的方向(即视图体自下而上的方向)。
gluLookAt函数在本程序中的调用实例为:
gluLookAt(pSendUp->xcam,pSendUp->ycam,pSendUp->zcam,pSendUp->xmis,pSendUp->ymis,(pSendUp->zmis)/10,0.0f,1.0f,0.0f);
其中,参数pSendUp->xcam,pSendUp->ycam,pSendUp->zcam,能够实现自减运算,从而实现卫星位置和视点位置的不断变换,以达到跟踪的效果。试点追随正在飞行的卫星,并按y轴方向上升。
5 实现卫星飞行的动画效果
5.1 基于OpenGL的动画实现
本系统中的卫星飞行动画基于计算机动画中标准动画法和物理动画法完成,基于OpenGL的双缓冲机制来实现。在显示前台缓冲内容中的一帧画面的同时,后台缓冲正在绘制下一帧画面,当绘制完毕,再将后台缓冲的内容显示出来,这时前台缓冲则又开始绘制下一帧画面,如此循环往复,屏幕上总是呈现显示好的内容,因此画面看上去是连续的,这是一种类似于流水线的操作方式[7]。
为了模拟卫星的飞行效果,在每两帧画面之间坐标平移和旋转操作,即后一帧画面可由前一帧画面经过平移和旋转操作得到。平移和旋转分别由一个参数决定,参数的修改在绘制两帧画面之间进行[8]。在本程序中,实现卫星飞行过程的关键函数为:
glTranslatef(xm,ym,zm);
glRotatef(am,1.0f,0.0f,0.0f);
glRotatef(180.0f,0.0f,1.0f,0.0f);
这些语句在每两帧画面切换时被调用,以实现卫星位置的不断变换。
5.2 模拟发射过程的尾焰效果
在实际的卫星发射过程中,卫星是由运载火箭送入太空的,卫星本身不带有升空过程的动力设备。运载火箭将卫星送入预定轨道后,即与卫星脱离。同步人造地球卫星绕着地球飞行时,是以地球对其的万有引力作为向心力绕轨运行[10]。
在本程序的设计过程中,由于技术上的一些限制条件,并没有将卫星与运载火箭捆绑,而是假定卫星自己具有动力源,为了达到预期的仿真效果,利用OpenGL提供的一些相关技术,对火箭上升过程中的喷射尾焰进行了模拟。
实现尾焰的模拟效果主要使用视图变换和纹理贴图等技术。定义一些规则的几何体,然后对这些几何体进行预定轨道的位置变换,通过使用纹理贴图技术,使其看起来更具有真实感。本程序中通过以下步骤进行火焰效果仿真:
首先,用规则的三维几何体定义尾焰轮廓;
其次,对该几何体尾部进行透明度扰动以产生火焰的喷射效果;
最后,用分段函数定义几何体各区间的颜色以求色彩逼真。
6 结论
在本卫星发射至入轨过程仿真系统的设计过程中,以OpenGL图形接口为开发环境,在Visual C++中调用系统封装的OpenGL函数,运用OpenGL的各项功能,例如模型变换,投影变换等,实现了卫星发射过程的动态仿真及卫星飞行过程的动画显示。在本程序的编写过程中,采用了标准动画法来绘制卫星的过程,在视觉上带来了一定的真实感,但在仿真方面还不够完善,此外,卫星在轨运行的模型使用的是无摄运动模型,它比真是太空中天体的运动简单很多。怎样从计算公式的角度和动画仿真的角度提高模型的真实性,还有待进一步的研究。
参考文献:
[1] 黄权,徐学军.基于OpenGL的卫星跟踪仿真[J].计算机技术与发展,2007,17(2):131-134.
[2] 刘林.人造地球卫星轨道力学[M].北京:高等教育出版社,1992:1-100.
[3] Jim Pitts,Martin Van Velsen,Robin Fercoq,et al.3D Studio File Format[Z].1997.
[4] 夏一飞,黄天衣.球面天文学[M].南京:南京大学出版社,1995:20-200.
[5] Dave Shreiner,Mason Woo,Jackie Neider,等.OpenGL编程指南[M].北京:机械工业出版社,2006:1-297.
[6] Mark Segal,Kurt Akeley.The OpenGL Graphics System: A Specification(Version 2.1)[Z].2006:1-394.
[7] 唐泽圣,周嘉玉,李新友.计算机图形学基础[M].北京:清华大学出版社,1999:1-180.
[8] Cass Everitt.OpenGL ARB Vertex Program[Z].2003:1-58.
[9] 刁成嘉,刁奕.C++面向对象编程基础[M].北京:机械工业出版社,2007:95-117.