半長軸a 近日點 遠日點 公週期 半徑 質量 自週期 衛星 軌傾角 離心率 脫離速 密度 3rdlaw AU AU AU year RE ME 24hr degree km/s g/cm3 T2/a3 太陽 --- --- --- --- 109 332,800 25-36 9 --- --- 617 1.41 水星 0.387 0.307 0.467 0.241 0.3824 0.055 58.65 0 7 0.206 4.3 5.43 1.002 金星 0.723 0.719 0.728 0.615 0.95 0.815 -243 0 3.39 0.007 10.4 5.25 1.000 地球 1 0.983 1.017 1 1 1 1 1 0 0.017 11.2 5.52 1.000 火星 1.523 1.381 1.666 1.88 0.53 0.107 1.026 2 1.85 0.093 5 3.94 1.000 木星 5.204 4.95 5.459 11.86 11.2 317.9 0.408 79 1.3 0.048 59.5 1.31 0.998 土星 9.582 9.041 10.12 29.46 9.46 95.2 0.425 82 2.49 0.056 35.6 0.69 0.986 天王星 19.20 18.32 20.08 84.01 4 14.52 -0.746 27 0.77 0.047 21.3 1.29 0.997 海王星 30.04 29.71 30.39 164.8 3.88 17.06 0.796 14 1.77 0.009 23.3 1.64 1.001 冥王星 39.48 29.65 49.30 247.7 0.18 0.0022 -6.37 5 17.15 0.248 1.1 2.03 0.997 哈雷 17.83 0.586 35.08 75.32 5.5km 2E14kg 2.2 0 162 0.967 2 m/s 0.6
半長軸a 近日點 遠日點 公週期 半徑 質量 自週期 衛星 軌傾角 離心率 脫離速 密度 3rdlaw AU AU AU year RE ME 24hr degree km/s g/cm3 T2/a3 太陽 --- --- --- --- 109 332,800 25-36 9 --- --- 617 1.41 水星 0.387 0.307 0.467 0.241 0.3824 0.055 58.65 0 7 0.206 4.3 5.43 1.002 金星 0.723 0.719 0.728 0.615 0.95 0.815 -243 0 3.39 0.007 10.4 5.25 1.000 地球 1 0.983 1.017 1 1 1 1 1 0 0.017 11.2 5.52 1.000 火星 1.523 1.381 1.666 1.88 0.53 0.107 1.026 2 1.85 0.093 5 3.94 1.000 木星 5.204 4.95 5.459 11.86 11.2 317.9 0.408 79 1.3 0.048 59.5 1.31 0.998 土星 9.582 9.041 10.12 29.46 9.46 95.2 0.425 82 2.49 0.056 35.6 0.69 0.986 天王星 19.20 18.32 20.08 84.01 4 14.52 -0.746 27 0.77 0.047 21.3 1.29 0.997 海王星 30.04 29.71 30.39 164.8 3.88 17.06 0.796 14 1.77 0.009 23.3 1.64 1.001 冥王星 39.48 29.65 49.30 247.7 0.18 0.0022 -6.37 5 17.15 0.248 1.1 2.03 0.997 哈雷 17.83 0.586 35.08 75.32 5.5km 2E14kg 2.2 0 162 0.967 2 m/s 0.6 ============================================================================ 太陽距離 半徑 體積 重量 密度 赤道 自轉週 公轉 軌道 表面 自轉 衛星 最亮星等 最大視 Mkm 公里 地球1 地球1 g/cm3 重力 期(日) 週期 離心率 溫度(C) 方向 最亮星等 直徑 水星 57.9 2439.7 0.054 0.055 5.427 3.7 58.646 87.97日 0.2056 -173~427 西東 0 -1.9等 11秒 金星 108.2 6051.8 0.88 0.815 5.24 8.87 243 224.7日 0.0068 420~485 東西 0 -4.4等 61秒 地球 149.6 6378.1 1 1 5.515 9.766 0.99726 365.2日 0.0167 -88~58 西東 1 - - 火星 227.9 3397.0 0.15 0.10744 3.94 3.693 1.026 686.9日 0.0934 -87~-5 西東 2 -2.8等 18秒 木星 778.4 71492.0 1316 317.82 1.33 20.87 0.41354 11.85年 0.04839 -148 西東 63 -2.8等 47秒 土星 1426.7 60268.0 763.6 95.16 0.7 10.4 0.44401 29.44年 0.05415 -178 西東 56 +0.4等 43秒(環) 天王星 2871.0 25559.0 63.1 14.371 1.3 8.43 0.718 84.02年 0.04716 -216 西東 27 5.6等 4秒 海王星 4498.3 24764.0 57.7 17.147 1.76 10.71 0.67125 164.7年 0.00859 -214 西東 13 7.9等 0秒 冥王星 5906.4 1151.0 0.0059 0.0022 2 0.81 6.387 247.9年 0.2488 -233 西東 3 13.7等 0秒
Web VPython 3.2 scene = canvas(width=800, height=600, center=vector(0,0,0), background=vector(0,0,0)) GM=4*pi**2 SUN=sphere(radius=0.1, pos=vec(0,0,0), color=color.yellow) Earth=sphere(radius=0.05, pos=vec(1,0,0), color=color.blue,make_trail=True) arrow(pos=vec(0,0,0),axis=vec(1.5,0,0),shaftwidth=0.005,headwidth=0.02, \ color=color.yellow) arrow(pos=vec(0,0,0),axis=vec(0,1.5,0),shaftwidth=0.005,headwidth=0.02, \ color=color.yellow) Earth.v=vec(0,2*pi,0) t=0.; dt = 0.01; NR=int(1./dt); time='{:02.0f}'.format(t) T=label(text=time,pos=vector(1,1.2,0)) scene.waitfor('click') while True: rate(int(NR/4)) time='{:04.1f}'.format(t) T.text=time Earth.v += -dt*GM/mag(Earth.pos)**3 * Earth.pos Earth.pos += Earth.v * dt t=t+dt if(t > 10): break |
![]() |
Web VPython 3.2 orb=['mercury','venus','earth','mars'] ra=[0.467,0.728,1.017,1.666] rp=[0.307,0.719,0.983,1.381] NP=len(ra) GMs=4*pi**2; dt=0.0001; NR=int(1/dt)/4; V=[] #pi=math.pi for i in range(NP): ai=(ra[i]+rp[i])/2. rat=rp[i]/ra[i]/((rp[i]+ra[i])/2.) vir=rat**0.5 V.append(vir*2*pi) ei=abs(1-((vir*2*pi)**2*(ra[i])/4/pi**2)) Ti=ai**1.5 PL='{:4d}'.format(i)+' {:10s}'.format(orb[i])+'{:9.3f}'.format(ra[i]) \ +'{:9.3f}'.format(rp[i])+'{:9.3f}'.format(ai)+'{:9.3f}'.format(vir) \ +'{:9.3f}'.format(V[i])+'{:9.3f}'.format(ei)+'{:9.3f}'.format(Ti) print(PL) scene=canvas(width=800, height=700, center=vector(0,0,0), background=vector(0,0,0)) SUN = sphere(radius=0.1,pos=vector(0,0,0),color=color.yellow) planets=[sphere(radius=0.2, pos=vector(ra[i],0,0), make_trail=True) \ for i in range(NP)] planets[0].radius=0.03; planets[0].color=vec(0.5,0.5,0.5) planets[1].radius=0.05; planets[1].color=vec(0.8,0.8,0.8) planets[2].radius=0.1; planets[2].color=color.cyan planets[3].radius=0.05; planets[3].color=color.orange for i in range(NP): planets[i].trail_color=planets[i].color planets[i].v=vector(0,V[i],0) t=0. time='{:4.1f}'.format(t) T=label(text=time,pos=vector(1.5,1.5,0)) scene.waitfor('click') while True: rate(NR) time='{:4.1f}'.format(t) T.text=time for i in range(NP): a=-GMs/mag(planets[i].pos)**3 * planets[i].pos planets[i].v += a*dt planets[i].pos += planets[i].v * dt t=t+dt if(t > 8): break |
![]() |
![]() |
GlowScript 3.0 VPython orb=['mercury','venus','earth','mars','jupiter','saturn','uranus','neptune','pluto','halley'] ra=[0.467,0.728,1.017,1.666,5.459,10.124,20.078,30.386,49.304,35.082] rp=[0.307,0.719,0.983,1.381,4.95,9.041,18.324,29.709,29.658,0.586] a=[0.387,0.724,1,1.523,5.204,9.582,19.201,30.047,39.481,17.834] va=[1.303,1.168,0.983,0.738,0.417,0.305,0.218,0.18,0.123,0.031] e=[0.207,0.006,0.017,0.094,0.049,0.057,0.046,0.011,0.249,0.967] T=[0.241,0.615,1,1.88,11.86,29.46,84.01,164.8,247.7,75.32] NP=len(rp)-2; NP=10 RE=1.5e11; TE=365*86400; VE=2.*pi*RE/TE MS=1.989e30; ME=5.972e24; G=6.67e-11; V=[] Ns=1000; dt = TE/Ns; NR=Ns*2 print(' i planets ra rp a va e T') for i in range(NP): ai=(ra[i]+rp[i])/2. rat=rp[i]/ra[i]/((rp[i]+ra[i])/2.) vir=sqrt(rat) ei=abs(1-((vir*2*pi)**2*(ra[i])/4/pi**2)) PL='{:4d}'.format(i)+'{:10s}'.format(orb[i])+'{:9.3f}'.format(ra[i]) \ +'{:9.3f}'.format(rp[i])+'{:9.3f}'.format(ai)+'{:9.3f}'.format(vir) \ +'{:9.3f}'.format(ei)+'{:9.3f}'.format(T[i]) print(PL) vi=VE*vir V.append(vi) ran=random scene = canvas(width=800, height=700, center=vector(0,0,0), background=vector(0,0,0)) SUN = sphere(radius=0.1*RE,pos=vector(0,0,0),color=color.yellow) planets=[sphere(radius=0.2*RE, pos=vector(ra[i]*RE,0,0), make_trail=True) for i in range(NP)] planets[0].radius=0.02*RE planets[1].radius=0.05*RE planets[2].radius=0.1*RE planets[3].radius=0.05*RE planets[4].radius=0.3*RE planets[0].color=color.cyan planets[1].color=color.orange planets[2].color=color.blue planets[3].color=color.red planets[4].color=color.orange planets[5].color=color.green planets[6].color=color.white planets[7].color=color.purple planets[8].color=color.white planets[9].color=color.yellow for i in range(NP): planets[i].trail_color=planets[i].color planets[i].v=vector(0,V[i],0) t=0. time='{:4.0f}'.format(t/TE) T=label(text=time,pos=vector(40*RE,10*RE,0)) scene.waitfor('click') while True: rate(NR) time='{:4.0f}'.format(t/TE) T.text=time for i in range(2,NP): planets[i].v += -dt*G*MS/mag(planets[i].pos)**3 * planets[i].pos planets[i].pos += planets[i].v * dt t=t+dt if(t/TE > 80): break
![]() |