当前位置:文档之家› 太阳系行星轨道及运行

太阳系行星轨道及运行

太阳系行星轨道及运行
太阳系行星轨道及运行

太阳系行星轨道及运行

动画演示

本程序对太阳系行星、卫星运行情况进行动画演示。具有以下功能:

1.可单独(或全部)显示或隐藏某个天体、运行轨道、天体名称。

2.可调节演示速度、画面比列、观察角度(从天球赤道到天球北极观察太阳系)。

3.可将某个天体(例如月亮)设置为屏幕中间静止不动的天体,观察其他天体相对于该天体运行的情况。

本程序改进版见:

通过设置不同的参数,可得到许多美丽而奇妙的图案,如下:

'需在窗体放置以下 3 个控件,所有控件均采用默认设置:

' Picture1,Command1,Timer1

' 注意:在属性窗口将 Command1 的 Index 属性设置为 0

'其次,为窗体添加一个名为 mFast 的菜单,再为 mFast 添加一个名为 mmFast 的下级子菜单,并将 mmFast 的索引设置为 0。

' 即:mmFast 是以序号 0 开头的菜单数组控件的第一个。

'以下是窗体代码,在调试通过:

Dim ctD() As tyD, ctDs As Long, ctP As Single, ctCenter As Long Dim ctBi As Single, ctV As Single, ctTrack As Boolean, ctBW As Long Dim ctSeeJ As Long, ctSeeBi As Single, ctSet As MenuSet

'定义表示天体的数据类型

Private Type tyD

Cap As String '天体名称

r As Long '天体半径(像素,下同)

a As Single '轨道:横半径

b As Single '轨道:纵半径

c As Single '轨道:焦点

e As Single '轨道:偏心率

IsHui As Boolean '是否彗星

Father As Long '父天体序号:轨道焦点上的天体

Se As Long '颜色

V As Single '运行角速度

Jiao As Single '某时刻的与父天体连线角度

X As Single '天体当前坐标

Y As Single

xUp As Single '上一时刻坐标

yUp As Single

Visible As Boolean '是否显示:球体ShowCap As Boolean '是否显示:标题GuiDao As Boolean '是否显示:轨道End Type

Enum MenuSet

'以下为选项菜单标示

ms_All = -2

ms_NoAll = -1

'以下为按钮标示

ms_RunStop = 0 '开始/暂停

ms_Step '步进,下一位置

ms_UnRun '后退

ms_Track '轨迹:显示/隐藏

ms_DefSet '默认设置

ms_Center '参照系

ms_Visible '天体:显示/隐藏ms_ShowCap '天体名称

ms_GuiDao '轨道

ms_Bi '缩放比

ms_V '速度

ms_SeeJ '视角

End Enum

Private Sub Form_Load()

= 3: = "太阳系行星运行演示" = False: ctP =

= 25: = True

Call Init

' = vbMaximized '最大化窗体

'窗体大小为屏幕的 3/4,居中

* , * , * , *

End Sub

Private Sub Form_Resize()

Dim I As Long, L As Single, T As Single, H As Single, H1 As Single, W As Single

'设置控件位置

H1 = ("A"): L = H1 * : T = L

L = 3

For I = 0 To - 1

W = (Command1(I).Caption & "ab")

Command1(I).Move L, T, W, H1 * 2

L = L + W + 3

Next

T = T * 2 + Command1(0).Height: H = - T

If H > 0 Then 0, T, , H

'将 Picture1 的中心设置为坐标原点

= 3

= *

= *

Call Run1

End Sub

Private Sub Init()

'初始化天体参数

Dim I As Long, V As Single, J As Single

ctBW = 0 ' 40 '四周边界空白区,仅用于调试。调试完毕应设为 0 。调试代码****

= True

= &H220000 '&HFFFFFF '

ctCenter = 0: ctBi = 1: ctV = 1 '参照系(位于中心的天体),缩放比列,速度

ctSeeJ = 30: ctSeeBi = ctSeeJ / 90 '视点角度,视角比

ctTrack = False '不显示运动轨迹(不是轨道)

'添加按钮

KjCls Command1

KjAdd Command1, "始/停(&K)", ms_RunStop, "天体的运动状态:开始/暂停" KjAdd Command1, "进(&J)", ms_Step, "步进,运行到下一位置"

KjAdd Command1, "退(&T)", ms_UnRun, "步进,后退到上一位置"

KjAdd Command1, "迹(&A)", ms_Track, "运动轨迹:显示/隐藏"

KjAdd Command1, "默(&D)", ms_DefSet, "将所有参数恢复为默认设置"

KjAdd Command1, "参照系(&C)", ms_Center, "设置参照系(位于中心的天体)" KjAdd Command1, "天体(&X)", ms_Visible, "天体:显示/隐藏"

KjAdd Command1, "名称(&M)", ms_ShowCap, "天体名称:显示/隐藏"

KjAdd Command1, "轨道(&G)", ms_GuiDao, "天体运行轨道:显示/隐藏" KjAdd Command1, "速度(&V)", ms_V, "设置速度"

KjAdd Command1, "视角(&L)", ms_SeeJ, "设置视点角度"

KjAdd Command1, "缩放(&S)", ms_Bi, "设置缩放比列"

'添加天体(演示比列状态下),半径以 100 像素为标准

'参数依次是:名称,父天体名称,天体半径,轨道长半轴,轨道偏心率,运动角速度,天体颜色,初始角度,彗星否

ctDs = -1: ReDim ctD(0)

AddCircle "太阳", "", 22, 2, 0, ctP * , RGB(255, 200, 0)

AddCircle "水星", "", 5, , , ctP * , &H999999

AddCircle "金星", "", 9, , , ctP * , &H55AAAA

AddCircle "地球", "", 10, , , ctP * , RGB(0, 0, 255)

AddCircle "月亮", "地球", 4, , 0, ctP * , &H888888

AddCircle "嫦娥1号", "月亮", 2, , 0, ctP * , &HCCCCCC

AddCircle "火星", "", 6, , , ctP * , &H1155FF

AddCircle "火卫1", "火星", 3, , 0, ctP * , &HFFFF00, ctP * 2 * AddCircle "火卫2", "火星", 3, , 0, ctP * , &H7777FF, ctP * 2 * AddCircle "木星", "", 16, 3, , ctP * , &HEEDDCC

AddCircle "木卫1", "木星", 2, , 0, ctP * , &H883487, ctP * 2 * AddCircle "木卫2", "木星", 2, , 0, ctP * , &H348888, ctP * 2 * AddCircle "木卫3", "木星", 3, , 0, ctP * , &HAA34CC, ctP * 2 * AddCircle "木卫4", "木星", 4, , 0, ctP * , &H888888, ctP * 2 * AddCircle "土星", "", 14, 5, , ctP * , &H5599FF

AddCircle "土卫6", "土星", 4, , 0, ctP * , &H99EEEE

AddCircle "天王星", "", 12, , , ctP * , &HFFCCCC

AddCircle "天卫3", "天王星", 3, , 0, ctP * , &H33FF88, ctP * 2 * AddCircle "天卫4", "天王星", 3, , 0, ctP * , &HFF3311, ctP * 2 * AddCircle "海王星", "", 12, 9, , ctP * , &HFF7766

AddCircle "海卫1", "海王星", 3, , 0, -ctP * , &H882388

AddCircle "哈雷彗星", "", 2, , , ctP * , &H777777, ctP * 1, True

Call Form_Resize

End Sub

Private Sub Command1_Click(Index As Integer)

Dim I As Long, J As Long, nStr As String, Zu As Variant

Dim nSel As Long, nAll As Long, nNo As Long

ctSet = Val(Command1(Index).Tag) '得到按钮标示

KjCls mmFast '清除菜单

'装载快捷菜单,并勾选选定项目

Select Case ctSet

Case ms_DefSet: Call Init: Run1: Exit Sub '默认设置

Case ms_RunStop: = Not : Exit Sub '开始/暂停

Case ms_Track: ctTrack = Not ctTrack: : Call Run1 '保留运动轨迹Case ms_Step '步进,前进到下一位置

If Not Then Run1 True

= False

Case ms_UnRun '步进,后退到下一位置

If Not Then Run1 True, True

= False

Case ms_Bi '缩放比列

Zu = Array, , , , "-", , , , , , "-", 1, , , , 2, 3, 5, 8, 10) KjAddZu mmFast, Zu, ctBi, " 倍": GoTo Show1 '添加数组菜单,并勾选 ctBi Case ms_SeeJ '视点角度

Zu = Array("90 度(天球北极)", "80 度", "70 度", "60 度", "50 度", "45 度", "40 度", "30 度", "20 度", "15 度", "10 度", "5 度", "0 度(天球赤道)")

KjAddZu mmFast, Zu, ctSeeJ: GoTo Show1 '添加数组菜单,并勾选 ctSeeJ Case ms_V '速度

Zu = Array, , , , "-", , , , , , "-", 1, , 2, , 3, 4, 5, , 10) KjAddZu mmFast, Zu, ctV, " 倍": GoTo Show1

Case Else '装载天体名称

For I = 0 To ctDs

J = Ji(I) '天体 I 的级别

KjAdd mmFast, "&" & I & " " & String(J * 2, " ") & ctD(I).Cap

Next

End Select

'勾选选定天体

Select Case ctSet

Case ms_Center: mmFast(ctCenter).Checked = True: GoTo Show1 '参照系(中心天体)

Case ms_ShowCap '显示天体名称

For I = 0 To ctDs: mmFast(I).Checked = ctD(I).ShowCap: Next

Case ms_Visible '天体是否可见

For I = 0 To ctDs: mmFast(I).Checked = ctD(I).Visible: Next

Case ms_GuiDao '轨道

For I = 0 To ctDs: mmFast(I).Checked = ctD(I).GuiDao: Next

Case Else: Exit Sub

End Select

KjAdd mmFast, "-"

nAll = KjAdd(mmFast, "全选", ms_All)

nNo = KjAdd(mmFast, "全不选", ms_NoAll)

For I = 0 To ctDs

If mmFast(I).Checked Then nSel = nSel + 1

Next

If nSel = 0 Then mmFast(nNo).Checked = True: mmFast(nNo).Enabled = False If nSel = ctDs + 1 Then mmFast(nAll).Checked = True: mmFast(nAll).Enabled = False

Show1:

Command1(Index).BackColor = &HFFCCCC '将选中按钮设置为淡蓝色

mFast, , Command1(Index).Left, Command1(Index).Top +

Command1(Index).Height - 3

Command1(Index).BackColor =

End Sub

Private Sub mmFast_Click(Index As Integer)

'通过快捷菜单设置天体有关参数

Dim nTag As MenuSet, I As Long, TF As Boolean

nTag = Val(mmFast(Index).Tag) '菜单标示:ms_All 全选,ms_NoAll 全不选

Select Case ctSet 'ctSet:按钮标示,在 Command1_Click 中设置

Case ms_V '速度

ctV = Val(mmFast(Index).Caption)

Case ms_SeeJ '视点角度

ctSeeJ = Val(mmFast(Index).Caption) '视点角度

ctSeeBi = ctSeeJ / 90 '视角比

For I = 0 To ctDs: ctD(I).xUp = 0: ctD(I).yUp = 0: Next

Case ms_Bi '缩放比列

ctBi = Val(mmFast(Index).Caption)

For I = 0 To ctDs: ctD(I).xUp = 0: ctD(I).yUp = 0: Next

Case ms_Center '参照系(中心天体)

ctCenter = Index

For I = 0 To ctDs: ctD(I).xUp = 0: ctD(I).yUp = 0: Next Case ms_ShowCap '显示名称

If Index <= ctDs Then

ctD(Index).ShowCap = Not ctD(Index).ShowCap

Else

TF = nTag = ms_All

For I = 0 To ctDs: ctD(I).ShowCap = TF: Next

End If

Case ms_Visible '天体是否可见

If Index <= ctDs Then

ctD(Index).Visible = Not ctD(Index).Visible

Else

TF = nTag = ms_All

For I = 0 To ctDs: ctD(I).Visible = TF: Next

End If

Case ms_GuiDao '轨道

If Index <= ctDs Then

ctD(Index).GuiDao = Not ctD(Index).GuiDao

Else

TF = nTag = ms_All

For I = 0 To ctDs: ctD(I).GuiDao = TF: Next

End If

End Select

Call Run1

End Sub

Private Sub AddCircle(nName As String, nFather As String, r As Long, a As Single, e As Single, V As Single, _

Optional Se As Long = 255, Optional Jiao As Single, Optional IsHui As Boolean)

'添加一个天体,参数依次是:

' 名称,父天体名称,天体半径,轨道长半轴,轨道偏心率,运动角速度,天体颜色,初始角度,彗星否

Dim I As Long, J As Long

a = a * 100 '半径以 100 像素为标准

ctDs = ctDs + 1: ReDim Preserve ctD(ctDs)

'设置父天体编号

For I = 0 To ctDs - 1

If LCase(ctD(I).Cap) = LCase(nFather) Then ctD(ctDs).Father = I: Exit For Next

ctD(ctDs).Cap = nName: ctD(ctDs).r = r: ctD(ctDs).a = a

ctD(ctDs).c = a * e: ctD(ctDs).b = Sqr(a ^ 2 - ctD(ctDs).c ^ 2)

ctD(ctDs).IsHui = IsHui: ctD(ctDs).V = V: ctD(ctDs).Se = Se

ctD(ctDs).xUp = 0: ctD(ctDs).yUp = 0: ctD(ctDs).Visible = True

ctD(ctDs).GuiDao = True

Randomize

If Jiao = 0 Then ctD(ctDs).Jiao = Rnd * ctP * 2 Else ctD(ctDs).Jiao = Jiao End Sub

Private Function KjAddZu(Kj, Zu As Variant, ByVal CheckStr As String, Optional SameStr As String)

'添加一个数组菜单,并勾选标题为 CheckStr 的条目

Dim I As Long, J As Long, nCap As String

If Left(CheckStr, 1) = "." Then CheckStr = "0" & CheckStr

For I = LBound(Zu) To UBound(Zu)

nCap = Zu(I)

If Left(nCap, 1) = "." Then nCap = "0" & nCap

If nCap = "-" Then J = KjAdd(Kj, nCap) Else J = KjAdd(Kj, nCap & SameStr) ' If LCase(CheckStr) = LCase(nCap) Then Kj(J).Checked = True

If Val(CheckStr) = Val(nCap) Then Kj(J).Checked = True

Next

End Function

Private Function KjAdd(Kj, nCap As String, Optional nTag As String, Optional nNote As String) As Long

'为数组控件添加一个成员,返回新添加的成员序号

Dim I As Long

I = - 1

If Kj(I).Caption <> "" Then I = I + 1: Load Kj(I)

On Error Resume Next

Kj(I).Checked = False

Kj(I).Caption = nCap

Kj(I).Tag = nTag

Kj(I).ToolTipText = nNote

Kj(I).Visible = True

KjAdd = I

End Function

Private Function KjCls(Kj) As Long

'卸载数组控件的所有成员(0号除外)

Dim I As Long

For I = - 1 To 1 Step -1

Unload Kj(I)

Next

On Error Resume Next

Kj(0).Caption = ""

Kj(0).Checked = False

End Function

Private Function CapToNum(nCap As String) As Long

'返回名称为 nCap 的天体编号

Dim I As Long

For I = 0 To ctDs

If LCase(ctD(I).Cap) = LCase(nCap) Then CapToNum = I: Exit Function Next

CapToNum = -1

End Function

Private Function Ji(ByVal D As Long) As Long

Matlab动画模拟太阳系行星运动

Matlab动画模拟太阳系行星运动 figure('name','星系演示');%设置标题名字 pausetime=.02;%设置暂停时间 set(gca,'xlim',[-50 50],'ylim',[-50 30],'zlim',[-50 50]); set(gcf,'doublebuffer','on') %消除抖动 xlabel('x轴'),ylabel('y轴'),zlabel('z轴'); axis equal; grid on; view([3 5 2]); hold on a=[8.5 12.5 20 30 50 60 80 100 90];b=[8 12 18 26 45 55 70 90 30]; omga=[4 1.25 1 0.5 0.1 0.05 0.25 0.125 1];r=[0.35 0.8 0.8 0.5 3 2.5 1.5 1.5 0.35];%长轴,短轴,角速度,球体半径 c=sqrt(a.^2-b.^2);h=pi/18;h1=pi/10;f=pi/9;g=pi/8; aby=[h h 0;h1 h 0;h h 0;h h 0;h h 0;h h 0;h g 0;h h h;g 0 g];%每个轨道平面倾斜角度,偏移设置 %colo={'y','m','b','m','r','c','b','b'}; [X,Y,Z]=sphere(40); surf(5*X,5*Y,5*Z);colormap(autumn) %设置太阳 light ('position',[1 0 2],'style','infinite') lighting phong material shiny t=0:0.01*pi:50*pi; t'; num=length(a); for n=1:num x(:,n)=a(n)*cos(omga(n)*t)+c(n); y(:,n)=b(n)*sin(omga(n)*t); z(:,n)=0*t; %计算未经轨道平面角度倾斜的轨道位置 xuanz(:,:)=[1 0 0;0 cos(aby(n,1)) -sin(aby(n,1));0 sin(aby(n,1)) cos(aby(n,1))]*[cos(aby(n,2)) 0 sin(aby(n,2));0 1 0;-sin(aby(n,2)) 0 cos(aby(n,2))]*[cos(aby(n,3)) -sin(aby(n,3)) 0;sin(aby(n,3)) cos(aby(n,3)) 0;0 0 1]; %每个轨道平面倾斜计算 xyz(:,:)=[x(:,n) y(:,n) z(:,n)]*xuanz(:,:); x(:,n)=xyz(:,1); y(:,n)=xyz(:,2); z(:,n)=xyz(:,3); %计算轨道平面倾斜后的轨道位置 p(n)=surf(r(n)*X+x(1,n),r(n)*Y+y(1,n),r(n)*Z+z(1,n));shading interp %画出每个行星

太阳系各行星有关参数

太阳系各行星有关参数: //各行星轨道长半径之比radiusRatio //1.5467 2.6667 4.0000 6.1333 20.8000 37.3333 77.3333 120.0000 157.3333 //程序中使用的轨道半径之比sqrt(4*radiusRatio) //2.4873 3.2660 4.0000 4.9531 9.1214 12.2202 17.5879 21.9089 25.0865 公转周期之比: 0.2408 0.6152 1.0000 1.8809 11.8600 29.5000 84.0000 164.8000 248 水星 轨道长半径5790万km 偏心率0.206 周期87.969日 轨道加速度0.3350383( 00 ) 0.1452248( 1800 ) 0.240127( 平均值) 金星 轨道平均半径0.723天文单位偏心率0.007 周期224.7日 轨道加速度0.08178403( 00 ) 0.07950966( 1800 ) 0.080647( 平均值) 地球 轨道长半径149597870km 偏心率0.0167 周期365.25636 日 轨道加速度0.05130527( 00 ) 0.04798734( 1800 ) 0.049646( 平均值) 火星

轨道长半径1.524天文单位偏心率0.093 周期约687日 轨道加速度0.03219483( 00 ) 0.02216973( 1800 ) 0.027182( 平均值) 木星 轨道长半径5.2 天文单位偏心率0.048 周期11.86年 轨道加速度0.004619721( 00 ) 0.003812124( 1800 ) 0.0042159( 平均值) 土星 轨道长半径14亿公里偏心率0.055 周期29.5年 轨道加速度0.001889939( 00 ) 0.001512879( 1800 ) 0.0017014( 平均值) 天王星 轨道长半径29亿公里偏心率0.05 周期84年 轨道加速度0.0006550741( 00 ) 0.0005362398( 1800 ) 0.00059566( 平均值) 海王星 轨道长半径30天文单位偏心率0.01 周期164.8年 轨道加速度0.0003070913( 00 ) 0.0002950497( 1800 ) 0.00030107( 平均值) 冥王星 近日点29.8天文单位偏心率( 缺)取0.01 周期248年g≈1.99845*10-4

太阳系行星轨道及运行

太阳系行星轨道及运行 动画演示 本程序对太阳系行星、卫星运行情况进行动画演示。具有以下功能: 1.可单独(或全部)显示或隐藏某个天体、运行轨道、天体名称。 2.可调节演示速度、画面比列、观察角度(从天球赤道到天球北极观察太阳系)。 3.可将某个天体(例如月亮)设置为屏幕中间静止不动的天体,观察其他天体相对于该天体运行的情况。 本程序改进版见:太阳系行星轨道及运行-3D立体动画演示 通过设置不同的参数,可得到许多美丽而奇妙的图案,如下:

'需在窗体放置以下3 个控件,所有控件均采用默认设置: ' Picture1,Command1,Timer1 ' 注意:在属性窗口将Command1 的Index 属性设置为0 '其次,为窗体添加一个名为mFast 的菜单,再为mFast 添加一个名为mmFast 的下级子菜单,并将mmFast 的索引设置为0。 ' 即:mmFast 是以序号0 开头的菜单数组控件的第一个。 '以下是窗体代码,在VB6.0 调试通过: Dim ctD() As tyD, ctDs As Long, ctP As Single, ctCenter As Long Dim ctBi As Single, ctV As Single, ctTrack As Boolean, ctBW As Long Dim ctSeeJ As Long, ctSeeBi As Single, ctSet As MenuSet

'定义表示天体的数据类型 Private Type tyD Cap As String '天体名称 r As Long '天体半径(像素,下同) a As Single '轨道:横半径 b As Single '轨道:纵半径 c As Single '轨道:焦点 e As Single '轨道:偏心率 IsHui As Boolean '是否彗星 Father As Long '父天体序号:轨道焦点上的天体Se As Long '颜色 V As Single '运行角速度 Jiao As Single '某时刻的与父天体连线角度 X As Single '天体当前坐标 Y As Single xUp As Single '上一时刻坐标 yUp As Single Visible As Boolean '是否显示:球体 ShowCap As Boolean '是否显示:标题 GuiDao As Boolean '是否显示:轨道 End Type Enum MenuSet '以下为选项菜单标示 ms_All = -2 ms_NoAll = -1

2020届高三地理复习讲解:太阳系模式图判读

2020届高三地理复习讲解:太阳系模式图判读 一、典题示例 阅读下图,探究下列问题。 (1)八大行星绕日公转的运动特征是什么? (2)与其他行星相比,地球的运动特征方面有无特殊之处?由此得到的结论是什么? (3)八大行星中表面温度最高和最低的分别是哪个?为什么? 答案: (1)同向性、共面性、近圆性。 (2)没有特殊之处。八大行星都可能存在生命。 (3)水星表面温度最高,海王星表面温度最低。距太阳越近,温度越高;距太阳越远,温度越低。 二、归纳总结 读图指导:阅读该图尤其要注意以下几方面的问题:①按距离太阳由近及远的顺序找出太阳系的八大行星,说出地球的“左邻右舍”,明确地球在太阳系中的位置;②知道小行星带位于火星轨道与木星轨道之间,即类地行星与巨行星轨道之间;③认识八大行星公转运动的同向性、共面性和近圆性特征;④认识哈雷彗星轨道具有扁长形的特点、自东向西的公转运动和彗尾长度与其距离太阳远近的关系。

三、跟踪训练 1.如图为古希腊时期托勒密体系示意图,读图回答1~2题。 1.该体系认为,宇宙的中心是() A.太阳B.地球 C.恒星天D.最高天 2.与现代科学相比,该体系的正确之处是() A.月球与火星和木星等是同一级别的天体 B.太阳与土星和木星等是同一级别的天体 C.火星和木星等天体具有公转的同向性 D.所有恒星与地球之间距离相同 解析:第1题,由图可以看出,地球位于体系的中心位置;第2题,月球属于卫星,而火星与木星属于行星,太阳属于恒星,不是同一级别的天体;火星与木星公转方向相同,都是自西向东。 答案:1.B 2.C 3.读图回答下题。

图中所示信息反映了行星的运动特征是() A.自转方向都一致 B.公转方向都一致 C.公转轨道都为正圆形 D.公转轨道面完全重合 解析:八颗行星的自转方向不完全一致;八颗行星绕日公转的方向相同,都是自西向东;八颗行星公转轨道形状近似圆形;八颗行星的绕日公转轨道面具有共面性,实际上是其他行星与地球公转轨道面的夹角较小,接近0°,但不等于0°,因此不是完全重合。 答案:B 4.阅读材料,回答下列问题。下图为太阳系模式图。 北航星是指为庆祝北航建校60周年,国家天文台经批准,把于1995年10月发现并命名为“北航星”的小行星定为永久编号为09830的小行星。 (1)八颗行星中,离太阳最近的是__A__,表示地球的是__G__。(填字母) (2)在图中适当位置画出“北航星”(小行星)的运动轨道并画出公转方向。

揭开天体行星运动轨道的奥秘

在太阳系中,天体行星的运行轨道都是椭圆的,这一点早已被科学观察所证实。但为什么行星的运动轨迹都会是椭圆的呢?几个世纪来,牛顿给出了计算椭圆轨道的公式,康德在其《宇宙发展史概论》中作出了一个不很明确的解答“行星的偏心率是自然界因力图使行星作圆周运动时,由于中间出现了许多情况,而不能完全达到圆形的结果”。而拉普拉斯在其《宇宙体系论》中是这样解释的“如果行星只受太阳的作用,它们围绕太阳运行的轨道是椭圆的……。”20世纪的爱因斯坦也只告诉我们“空间是弯曲的”,现代科学对于行星椭圆轨道形成的原因。如同“万有引力”一样,尚是一个未揭开的科学之迷。 天体行星的运动,不但轨道是椭圆的,而且运动的公转速度与自转速度也随着时空的变化而变化,显现出某些特殊的运动规律。这些规律,至今为止,人们尚未真正解开其中的奥秘。近年来,俄罗斯科学家,运用数学和控制论科研所的研究员提出“由于地球内部的固体核旋转速度快于地慢,从而影响了地球的自转速度”。有关专家指出“该科研成果解决了地球自转角速度发生变化的原因,解决了多年来困扰学术界的一个难题。” 天体行星运动轨道的变化规律,是因地球内部固体核与地慢流的运动差异而引起的变化吗?本人运用量子引力理论进行了诸多的推演,创新了一套天体行星运动系统的引力控制理论,它能全面地解释天体行星椭圆轨道的形成和运动速度变化的原因。该理论发现:太阳系行星运动的规律直接受银河系中心引力场引力控制,从而产生出太阳系轨道行星运动的自然法规。 18世纪法国大科学家拉普拉斯,在其所著的《宇宙体系论》中指出:“行星系里,除了使行星围绕太阳在椭圆轨道上运行的主要原因外,还存在其他特殊扰乱它们的运动,而且长时期里改变他们的轨道根数”。引自《宇宙体系论·第四章·行星围绕太阳运动的规律及其轨道的形状》(法)皮埃尔·西蒙·拉普拉斯著。 银河系中心引力场究竟怎样控制太阳系里的行星运动呢?拉普拉斯所预言的“还存在其它特殊原因”,而这个特殊原因就是“银河系引力的控制”。但拉普拉斯说“如果行星只受太阳的作用,它围绕太阳运行的轨道是椭圆的”,这句话从理论推演上说反了。实际上行星在围绕着太阳运行时,在不受银河系引力场控制的前提下,行星的运行轨道是正圆的而不是椭圆的。在后文的推演中,我们将会使读者真正认识到银河系中心引力场对太阳系的引力控制,对于运动行星来说是无法摆脱且真实地存在。

行星运行轨道的推导

行星运行轨道的推导 王晓琳,陈海军 (陇东学院 物理与电子工程学院,甘肃 庆阳 745000) 摘 要:从力的观点对行星运行轨道推导计算,通过求有心力,然后求出在有心力作用下的质点运动规律,进而对行星运行轨道形状展开讨论;再从能量的观点出发,得到行星运行轨道的一般Binet 方程,还可以从质点的运动微方程导出比耐方程,从而了解行星运行轨道的一般规律,即天体运行轨道的方程。 关键词:有心力,比耐公式,轨道方程 0引言 天体行星的运行轨道都是椭圆,这一点早已被科学观察所证实。但为什么行星的运动轨迹都会是椭圆的呢?1609年,德国著名的天文学家、数学家开普勒在研究古希腊天文学家托勒密的“地心说”和波兰天文学家哥白尼的“日心说”的基础上,提出了“开普勒定律”,描述了行星绕太阳运动的规律,其中开普勒第一定律,即轨道定律,认为每一行星沿一个椭圆轨道环绕太阳,而太阳则处在椭圆的一个焦点中。几个世纪来,牛顿给出了计算椭圆轨道的公式,康德在其《宇宙发展史概论》中做出了一个不很明确的解答 “行星的偏心率是自然界因力图使行星作圆周运动时,由于中间出现了许多情况,而不能完全达到圆形的结果 ”。而拉普拉斯在其《宇宙体系论》中是这样解释的“如果行星只受太阳的作用,它们围绕太阳运行的轨道是椭圆的 ……。”20世纪的爱因斯坦也只告诉我们“空间是弯曲的 ”, 现代天文学研究表明,当今人类所能观察到的离地球最远的距离是200亿光年,但这并不是宇宙的边缘,而宇宙的一切天体,一切一切星系的运行,都有着特定的森严的规律,如月球绕地球旋转,地球绕太阳旋转,太阳系绕银河系旋转,银河系绕室女星系旋转等等,万物各成其形,各行其道,这是当代一切科学家共同确认的。 本文首先从力的角度进行讨论 1用力的观点来推导轨道 1.1有心力 各大行星的运行轨道都是绕太阳做椭圆运动的,因为万有引力的作用,一般而言,若运动质点所受的力作用线始终通过某一个定点,则该质点所受的力是有心力。 在平面极坐标系中,质点的运动微分方程为: )2()()(2==+==-θ θθθF r r m r F F r r m r 对( 1)的第二式进行第一积分,得0)(r 12=θ r d d m t

太阳系行星运行模拟C程序语言

太阳系行星运行模拟 组员: 2011年9月2日

概述 太阳系(Solar System)就是我们现在所在的恒星系统。它是以太阳为中心,和所有受到太阳引力约束的天体的集合体:8颗行星冥王星已被开除、至少165颗已知的卫星,和数以亿计的太阳系小天体。这些小天体包括小行星、柯伊伯带的天体、彗星和星际尘埃。广义上,太阳系的领域包括太阳、4颗像地球的内行星、由许多小岩石组成的小行星带、4颗充满气体的巨大外行星、充满冰冻小岩石、被称为柯伊伯带的第二个小天体区。在柯伊伯带之外还有黄道离散盘面、太阳圈和依然属于假设的奥尔特云。 模拟太阳系不仅仅是完成作业,也能让我们更近一步的了解太阳系,拓广知识面,对行星的运行有基本的感性和理性感知。增加我们对宇宙探索的渴望,可能培养出又一批天文学家。 OpenGL(全写Open Graphics Library)是个定义了一个跨编程语言、跨平台的编程接口的规格,它用于三维图象(二维的亦可)。OpenGL是个专业的图形程序接口,是一个功能强大,调用方便的底层图形库。 OpenGL是一个开放的三维图形软件包,它独立于窗口系统和操作系统,以它为基础开发的应用程序可以十分方便地在各种平台间移植;OpenGL可以与Visual C++紧密接口,便于实现机械手的有关计算和图形算法,可保证算法的正确性和可靠性;OpenGL使用简便,效率高。它具有七大功能: 1.建模:OpenGL图形库除了提供基本的点、线、多边形的绘制函数外,还提供了复杂的三维物体(球、锥、多面体、茶壶等)以及复杂曲线和曲面绘制函数。 2.变换:OpenGL图形库的变换包括基本变换和投影变换。基本变换有平移、旋转、变比镜像四种变换,投影变换有平行投影(又称正射投影)和透视投影两种变换。其变换方法有利于减少算法的运行时间,提高三维图形的显示速度。 3.颜色模式设置:OpenGL颜色模式有两种,即RGBA模式和颜色索引(Color Index)。 4.光照和材质和镜面光(Specular Light)。材质是用光反射率来表示。场景(Scene)中物体最终反映到人眼的颜色是光的红绿蓝分量与材质红绿蓝分量的反射率相乘后形成的颜色。5:纹理映射(Texture Mapping)。利用OpenGL纹理映射功能可以十分逼真地表达物体表面细节。6:位图显示和图象增强图象功能除了基本的拷贝和像素读写外,还提供融合(Blending)、反走样(Antialiasing)和雾(fog)的特殊图象效果处理。以上三条可使被仿真物更具真实感,增强图形显示的效果。7:双缓存动画(Double Buffering)双缓存即前台缓存和后台缓存,简言之,后台缓存计算场景、生成画面,前台缓存显示后台缓存已画好的画面。此外,利用OpenGL还能实现深度暗示(Depth Cue)、运动模糊(Motion Blur)等特殊效果。从而实现了消隐算法。 具体实现 利用VC6.0和OpenGL绘制太阳系模拟,以最简单的方式,新建一个win32 console application,加入以下代码: #include #include #include #include "gl/glut.h" //行星 GLfloat rot0 = 30.0; GLfloat rot1 = 0.0;

探索星空的奥秘——太阳系行星手工

幼师宝典 https://www.doczj.com/doc/ab6900761.html, 探索星空的奥秘——太阳系?星?? 太阳是银河系较典型的恒星,提及银河系就不得不说?说太阳系了,太阳系以太阳为中?,包括???星,5颗矮?星和数以亿计的太阳系?天体,以往也只能在图?或视频中领略或美丽或神秘的太系?星和?天体,今天?编就通过??把远在天边的星球拉到眼前来,?起来感受下吧! ?星制作?法 泡沫球?星 选取?种颜料为泡沫球上?。选取相同?调的颜料绘制纹理。最后再?贴画等装饰?下,?个美美的星球就做好了。

彩泥?星 先??个颜?的彩泥包裹泡沫球来打底,然后再参照星球的图??其它颜?的彩泥做出纹理,?个个星球模型就做好了,或者?朋友们可以发挥创造?和想象?来创造出 ?个特别的星球,把它命名成??的名字。

光盘七彩?星 从泡沫球的顶部开始,由上?下?圈?圈给泡沫球涂上不同的颜?,在晾?之前再撒上各?的亮?来装饰,然后,在?分之?处把泡沫球切开,把光盘放在中间,两部分

泡沫球??签连结,这样,?个七彩的?星就诞?了!

太阳系?? ?果太阳系?? 找?个深蓝?的盘?,把你所能找到的?果或去?或切开后摆在盘?中,地球的?颗颗?星就出来啦:太阳—橘?,?星—红葡萄,?星—芹菜,地球—猕猴桃,?星—草莓,?星—?肠,?星—切达?酪,天王星—奶酪,海王星—?腿,冥王星—??,最后再???的奶酪装点?下盘?,就?功告成了!果盘做成这样,会不会更有?欲? (注意:冥王星现已不属于太阳系中???星之列,?是?颗矮?星) 或者把酸奶装进袋??,利?袋?的??在盘??画出?星的运?轨道,再把?果做的?星放在相应的轨道上,?个??味俱全的太阳系就完成了!

太阳系里八大行星公转轨道不在同一个平面上

太阳系里八大行星公转轨道不在同一个平面上 1、水星最接近太阳,是太阳系中最小最轻的行星。基本参数 轨道半长径:5791万千米(0.38 天文单位) 公转周期:87.70 天 平均轨道速度:47.89 千米/每秒 轨道偏心率:0.206 轨道倾角:7.0 度 行星赤道半径:2440 千米 质量(地球质量=1):0.0553 密度:5.43 克/立方厘米 自转周期:58.65 日 卫星数:无 公转轨道: 距太阳57,910,000 千米(0.38 天文单位) 2、金星八大行星之一,中国古代称之为太白或太白金星。它有时是晨星,黎明前出现在东方天空,被称为“启明”;有时是昏星,黄昏后出现在西方天空,被称为“长庚”。金星是全天中除太阳和月亮外最亮的星,犹如一颗耀眼的钻石,于是古希腊人称它为阿佛洛狄忒--爱与美的女神,而罗马人则称它为维纳斯--美神。 基本参数 公转周期:224.701天 平均轨道速度:35.03 千米/每秒 轨道偏心率:0.007 轨道倾角:3.4 度 赤道直径:12,103.6千米 直径:12105千米 质量(地球质量=1):0.8150 密度:5.24 克/立方厘米 卫星数量:0 公转半径:108,208,930 km(0.72 天文单位) 表面面积:4.6亿平方千米 自转时间:243.02天 逃逸速度:10.4 千米/秒 3、地球是距太阳第三颗,也是第五大行星,基本参数 轨道半径: 149,600,000 千米(离太阳1.00 天文单位) 行星直径: 12,756.3 千米 质量: 5.9736e24 千克 赤道引力(地球=1) 1.00 逃逸速度(公里/秒) 11.2

Matlab动画模拟太阳系行星运动

M a t l a b动画模拟太阳 系行星运动 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

Matlab动画模拟太阳系行星运动 figure('name','星系演示');%设置标题名字 pausetime=.02;%设置暂停时间 set(gca,'xlim',[-50 50],'ylim',[-50 30],'zlim',[-50 50]); set(gcf,'doublebuffer','on') %消除抖动 xlabel('x轴'),ylabel('y轴'),zlabel('z轴'); axis equal; grid on; view([3 5 2]); hold on a=[ 20 30 50 60 80 100 90];b=[8 12 18 26 45 55 70 90 30]; omga=[4 1 1];r=[ 3 ];%长轴,短轴,角速度,球体半径 c=sqrt(a.^2-b.^2);h=pi/18;h1=pi/10;f=pi/9;g=pi/8; aby=[h h 0;h1 h 0;h h 0;h h 0;h h 0;h h 0;h g 0;h h h;g 0 g];%每个轨道平面倾斜角度,偏移设置 %colo={'y','m','b','m','r','c','b','b'}; [X,Y,Z]=sphere(40); surf(5*X,5*Y,5*Z);colormap(autumn) %设置太阳 light ('position',[1 0 2],'style','infinite') lighting phong material shiny t=0:*pi:50*pi; t'; num=length(a); for n=1:num x(:,n)=a(n)*cos(omga(n)*t)+c(n); y(:,n)=b(n)*sin(omga(n)*t); z(:,n)=0*t; %计算未经轨道平面角度倾斜的轨道位置 xuanz(:,:)=[1 0 0;0 cos(aby(n,1)) -sin(aby(n,1));0 sin(aby(n,1)) cos(aby(n,1))]*[cos(aby(n,2)) 0 sin(aby(n,2));0 1 0;-sin(aby(n,2)) 0 cos(aby(n,2))]*[cos(aby(n,3)) -sin(aby(n,3)) 0;sin(aby(n,3)) cos(aby(n,3)) 0;0 0 1]; %每个轨道平面倾斜 计算

太阳系九大行星介绍

太阳系九大行星介绍 一个帮助你想象太阳系中各成员相对大小的方法是:将实际图大小缩小十亿倍(1e9),这样地球直径大约为1.3厘米(一颗葡萄的大小);月球轨道宽则在一个成人脚印外;太阳直径则为1.5米(大约一个人高),离地球150米(相当于一个街区);土星直径15厘米(一个大葡萄轴的大小),离太阳五个街区远;土星(桔子般大小)则离太阳十个街区远;天王星和海王星(柠檬)离太阳分别为20及30街区远;一个人在此情况下的比例为一个原子;最近的一颗恒星将在40000公里以外。 在上面插图中未显示的是大量的栖居在太阳系中的小物体:行星的卫星;大量的绕太阳公转的小行星(小石块构成),大多数在火星及土星之间,其他则分散在各个角落;在太阳系内延大大延伸的轨道运动的彗星(小冰块构成),对黄道面来讲具有上下随机的运动方向。行星卫星绕轨道运行时同行星般大致与黄道同一平面,很少有例外,但通常彗星与小行星不是这样。 分类 这些物体的分类是次要的争论。按传统说法,太阳系被分为行星(绕太阳公转的大物体),它们的卫星(如月球,绕行星公转的各种大小的星体),小行星(小型的密集的绕太阳公转的星体)和彗星(小个体的冰质的绕高度偏心轨道公转的星体)。不幸的是,太阳系远比这里提到的复杂: 有几个卫星比冥王星大,并有两个大于水星; 有几个小卫星很有可能是被吸引到的小行星; 彗星有时与小行星进行区别; Kuiper带物体和别的类似Chiron的物体运行不太符合计算; 地球/月球和冥王星/冥卫一的运动系统有时被认为是“双星系统”。 别的分类是以化学组成为基础的,或以起源假说为基础,这个正在试图以自然规律加以证实,但它们常常由于太多的级别或太多的例外而终止使用。大多数星体是独一无二的;我们当前所理解的是不足以建立清楚的分类的。在随后的几页,我将使用常用的分类。 这九大行星通常按以下几个方法分类: 根据组成: 固态的由石头构成的行星:水星,金星,地球和火星: 固态行星主要由岩石与金属构成,高密度,自转速度慢,固态表面,没有光环,卫星较少。较大的气态行星:木星,土星,天王星和海王星: 气态行星主要由氢和氦构成,密度低,自转速度快,大气层厚,有光环和很多卫星。 冥王星。 根据大小: 小行星:水星,金星,地球,火星和冥王星。 小行星的直径小于13000公里。 巨行星:木星,土星,天王星和海王星。 巨行星的直径大于48000公里。

行星的轨道和位置

行星的轨道和位置 高路 (船舶海洋与建筑工程学院 5120109107) 一、背景介绍 16世纪以前,人们都认为行星绕太阳旋转的轨迹是圆。17世纪初,在丹麦天文学家T.Brache观察工作的基础上,Kepler提出了震惊当时科学界的行星运动三大定律: 1.行星运行的轨道是以太阳为一个焦点的椭圆; 2.从太阳指向某一行星的线段在单位时间内扫过的面积相等; 3.行星运动周期的平方与其轨道椭圆长轴的立方之比值是不随行星而改变的常数。 对这三条定律的分析和研究导致Newton发现了著名的万有引力定律,而同时,应用万有引力定律,Kepler的行星运动三大定律得到了理论上的推导。由于行星间引力的存在,基于万有引力定律的计算表明:行星的轨道应该是稍偏于以太阳为焦点的椭圆。计算结果与天文学家测得的实际结果在木星、土星等行星的轨道上相当吻合,然而在天王星的轨道上却存在着不容忽视的误差。当时人们只发现了太阳系的七大行星,天王星是其中最后发现的(1781年),于是科学家们猜想:还存在影响天王星运行轨道的其他行星。1864年,Adams(英)与Leverrier(法)分别推算出这颗可能存在的行星的位置,同年,天文学家就在他们推算的方位上找到了海王星。由于这颗行星的发现首先依赖于根据万有引力定律的计算,因此它被称为“铅笔尖上的行星”。此后,仍是类似的猜想和推算导致了质量较小的冥王星被发现,这充分说明了Newton万有引力定律这样一个数学模型的正确性和重要性。 二、实际问题 水星距太阳最远处(远日点)距离为6.982×1010m,此时地球绕太阳运动(公转)的速度为3.886×104m/s,试求: (1)地球距太阳的最近距离; (2)地球绕太阳运转的周期; (3)在从远日点开始的第50天结束时,地球的位置与速度。 三、数学模型 设太阳中心所在位置为复平面之原点O,在时刻t,行星位于 ()θi re Z=……………………………(1) t

Matlab动画模拟太阳系行星运动

M a t l a b动画模拟太阳系行 星运动 Prepared on 24 November 2020

Matlab动画模拟太阳系行星运动 figure('name','星系演示');%设置标题名字 pausetime=.02;%设置暂停时间 set(gca,'xlim',[-50 50],'ylim',[-50 30],'zlim',[-50 50]); set(gcf,'doublebuffer','on') %消除抖动 xlabel('x轴'),ylabel('y轴'),zlabel('z轴'); axis equal; grid on; view([3 5 2]); hold on a=[ 20 30 50 60 80 100 90];b=[8 12 18 26 45 55 70 90 30]; omga=[4 1 1];r=[ 3 ];%长轴,短轴,角速度,球体半径 c=sqrt(a.^2-b.^2);h=pi/18;h1=pi/10;f=pi/9;g=pi/8; aby=[h h 0;h1 h 0;h h 0;h h 0;h h 0;h h 0;h g 0;h h h;g 0 g];%每个轨道平面倾斜角度,偏移设置 %colo={'y','m','b','m','r','c','b','b'}; [X,Y,Z]=sphere(40); surf(5*X,5*Y,5*Z);colormap(autumn) %设置太阳 light ('position',[1 0 2],'style','infinite') lighting phong material shiny t=0:*pi:50*pi; t'; num=length(a); for n=1:num x(:,n)=a(n)*cos(omga(n)*t)+c(n); y(:,n)=b(n)*sin(omga(n)*t); z(:,n)=0*t; %计算未经轨道平面角度倾斜的轨道位置 xuanz(:,:)=[1 0 0;0 cos(aby(n,1)) -sin(aby(n,1));0 sin(aby(n,1)) cos(aby(n,1))]*[cos(aby(n,2)) 0 sin(aby(n,2));0 1 0;-sin(aby(n,2)) 0 cos(aby(n,2))]*[cos(aby(n,3)) -sin(aby(n,3)) 0;sin(aby(n,3)) cos(aby(n,3)) 0;0 0 1]; %每个轨道平面倾斜 计算

相关主题
文本预览
相关文档 最新文档