Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Python_超人
太阳系三体模拟器
提交
fc200058
太阳系三体模拟器
项目概览
Python_超人
/
太阳系三体模拟器
通知
1074
Star
131
Fork
128
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
太阳系三体模拟器
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
fc200058
编写于
3月 22, 2023
作者:
三月三net
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
太阳系三体模拟器
上级
a93405a8
变更
9
显示空白变更内容
内联
并排
Showing
9 changed file
with
327 addition
and
14 deletion
+327
-14
bodies/__init__.py
bodies/__init__.py
+4
-0
bodies/fixed_stars/alcyone.py
bodies/fixed_stars/alcyone.py
+5
-1
bodies/fixed_stars/aldebaran.py
bodies/fixed_stars/aldebaran.py
+73
-0
bodies/fixed_stars/arcturus.py
bodies/fixed_stars/arcturus.py
+1
-1
bodies/fixed_stars/bellatrix.py
bodies/fixed_stars/bellatrix.py
+78
-0
bodies/fixed_stars/stephenson_2_18.py
bodies/fixed_stars/stephenson_2_18.py
+5
-3
bodies/fixed_stars/uy_scuti.py
bodies/fixed_stars/uy_scuti.py
+68
-0
bodies/fixed_stars/vy_canis_majoris.py
bodies/fixed_stars/vy_canis_majoris.py
+79
-0
scenes/fixed_stars.py
scenes/fixed_stars.py
+14
-9
未找到文件。
bodies/__init__.py
浏览文件 @
fc200058
...
...
@@ -26,3 +26,7 @@ from bodies.fixed_stars.alcyone import Alcyone
from
bodies.fixed_stars.antares
import
Antares
from
bodies.fixed_stars.arcturus
import
Arcturus
from
bodies.fixed_stars.betelgeuse
import
Betelgeuse
from
bodies.fixed_stars.bellatrix
import
Bellatrix
from
bodies.fixed_stars.aldebaran
import
Aldebaran
from
bodies.fixed_stars.vy_canis_majoris
import
VYCanisMajoris
from
bodies.fixed_stars.uy_scuti
import
UYScuti
\ No newline at end of file
bodies/fixed_stars/alcyone.py
浏览文件 @
fc200058
...
...
@@ -47,7 +47,7 @@ class Alcyone(FixedStar):
"mass"
:
mass
,
"init_position"
:
init_position
,
"init_velocity"
:
init_velocity
,
"density"
:
9.85
4
,
# 10.000676498446115
"density"
:
9.85
6
,
"color"
:
color
,
"texture"
:
texture
,
"size_scale"
:
size_scale
,
...
...
@@ -60,8 +60,12 @@ class Alcyone(FixedStar):
if
__name__
==
'__main__'
:
from
bodies
import
Sun
import
math
fixed_star
=
Alcyone
()
sun
=
Sun
()
print
(
fixed_star
)
print
(
"质量倍数"
,
fixed_star
.
mass
/
sun
.
mass
)
print
(
"半径倍数"
,
fixed_star
.
raduis
/
sun
.
raduis
)
r
=
10
print
(
"密度換算"
,
fixed_star
.
mass
/
1e9
/
(
4
/
3
*
math
.
pi
*
pow
(
r
*
sun
.
raduis
,
3
)))
\ No newline at end of file
bodies/fixed_stars/aldebaran.py
0 → 100644
浏览文件 @
fc200058
# -*- coding:utf-8 -*-
# title :大角星
# description :大角星
# author :Python超人
# date :2023-02-11
# link :https://gitcode.net/pythoncr/
# python_version :3.8
# ==============================================================================
from
bodies
import
FixedStar
from
common.consts
import
MO
class
Aldebaran
(
FixedStar
):
"""
毕宿五 (Aldebaran)
质量:太阳质量
颜色值:#FF9100
直径:44.13倍太阳直径
中文名毕宿五
外文名Aldebaran
别 名金牛座α
分 类红巨星
质 量约 1.16 M⊙
表面温度约 3900 K
视星等0.85 等
绝对星等约 -0.641 等
自转周期~520 d
赤 经4时35分55.24秒
赤 纬+16°30′33.49″
距地距离约 65.3 光年
半 径44.13±0.84 R☉
光谱类型K5+III变星类型慢不规则变星径向速度54.26±0.03 km/s视 差49.97±0.75 mas表面重力1.45±0.3光 度439±17 L☉金属量-0.33±0.1 dex自转速度3.5±1.5 km/sU−B 色指数1.92B−V 色指数1.44年 龄6.4 Gyr
------------------------
== 太阳参数 ==
自转周期: 24.47 地球日,自转角速度约为 0.6130 度/小时 = 360/(24.47*24)
天体质量: 1.9891×10³⁰ kg
平均密度: 1.408×10³ kg/m³
"""
def
__init__
(
self
,
name
=
"毕宿五"
,
mass
=
1.16
*
MO
,
init_position
=
[
0
,
0
,
0
],
init_velocity
=
[
0
,
0
,
0
],
color
=
(
250
,
195
,
47
),
texture
=
"fixed_star.png"
,
size_scale
=
1.0
,
distance_scale
=
1.0
,
rotation_speed
=
0.1
,
ignore_mass
=
False
):
params
=
{
"name"
:
name
,
"mass"
:
mass
,
"init_position"
:
init_position
,
"init_velocity"
:
init_velocity
,
"density"
:
0.019
,
"color"
:
color
,
"texture"
:
texture
,
"size_scale"
:
size_scale
,
"distance_scale"
:
distance_scale
,
"rotation_speed"
:
rotation_speed
,
"ignore_mass"
:
ignore_mass
}
super
().
__init__
(
**
params
)
if
__name__
==
'__main__'
:
from
bodies
import
Sun
import
math
fixed_star
=
Aldebaran
()
sun
=
Sun
()
print
(
fixed_star
)
print
(
"质量倍数"
,
fixed_star
.
mass
/
sun
.
mass
)
print
(
"半径倍数"
,
fixed_star
.
raduis
/
sun
.
raduis
)
r
=
44.13
print
(
"密度換算"
,
fixed_star
.
mass
/
1e9
/
(
4
/
3
*
math
.
pi
*
pow
(
r
*
sun
.
raduis
,
3
)))
bodies/fixed_stars/arcturus.py
浏览文件 @
fc200058
...
...
@@ -16,7 +16,7 @@ class Arcturus(FixedStar):
质量:太阳质量
密度:1.16×10⁻⁴ g/cm³
颜色值:#FF9100
直径:
1,180
倍太阳直径
直径:
25.4
倍太阳直径
中文名大角星
...
...
bodies/fixed_stars/bellatrix.py
0 → 100644
浏览文件 @
fc200058
# -*- coding:utf-8 -*-
# title :大角星
# description :大角星
# author :Python超人
# date :2023-02-11
# link :https://gitcode.net/pythoncr/
# python_version :3.8
# ==============================================================================
from
bodies
import
FixedStar
from
common.consts
import
MO
class
Bellatrix
(
FixedStar
):
"""
TODO: 参宿五 (Bellatrix)
质量:8.6太阳质量
密度:1.16×10⁻⁴ g/cm³
颜色值:#FF9100
直径:5.75倍太阳直径
中文名参宿五
外文名Bellatrix别 名猎户座γ
分 类恒星
质 量8.6 M⊙
表面温度22000 K
视星等1.64 等
绝对星等-2.78 等
赤 经5时25分07.9秒
赤 纬+6°20′58.93″
距地距离约 250 光年
光谱类型B2 III
径向速度18.2 km/s
视 差12.92±0.52 mas
半 径5.75 R☉
表面重力3.6 cgs
光 度9,211 L☉
金属量–0.07 dex
自转速度46±8 km/s
U−B 色指数-0.86
B−V 色指数-0.21
年 龄25.2 Myr
------------------------
== 太阳参数 ==
自转周期: 24.47 地球日,自转角速度约为 0.6130 度/小时 = 360/(24.47*24)
天体质量: 1.9891×10³⁰ kg
平均密度: 1.408×10³ kg/m³
"""
def
__init__
(
self
,
name
=
"参宿五"
,
mass
=
8.6
*
MO
,
init_position
=
[
0
,
0
,
0
],
init_velocity
=
[
0
,
0
,
0
],
color
=
(
122
,
187
,
255
),
texture
=
"fixed_star.png"
,
size_scale
=
1.0
,
distance_scale
=
1.0
,
rotation_speed
=
0.1
,
ignore_mass
=
False
):
params
=
{
"name"
:
name
,
"mass"
:
mass
,
"init_position"
:
init_position
,
"init_velocity"
:
init_velocity
,
"density"
:
63.69
,
"color"
:
color
,
"texture"
:
texture
,
"size_scale"
:
size_scale
,
"distance_scale"
:
distance_scale
,
"rotation_speed"
:
rotation_speed
,
"ignore_mass"
:
ignore_mass
}
super
().
__init__
(
**
params
)
if
__name__
==
'__main__'
:
from
bodies
import
Sun
fixed_star
=
Bellatrix
()
sun
=
Sun
()
print
(
fixed_star
)
print
(
"质量倍数"
,
fixed_star
.
mass
/
sun
.
mass
)
print
(
"半径倍数"
,
fixed_star
.
raduis
/
sun
.
raduis
)
bodies/fixed_stars/stephenson_2_18.py
浏览文件 @
fc200058
...
...
@@ -45,7 +45,7 @@ class Stephenson_2_18(FixedStar):
平均密度: 1.408×10³ kg/m³
"""
def
__init__
(
self
,
name
=
"史蒂文森2-18"
,
mass
=
14.28e5
*
MO
,
def
__init__
(
self
,
name
=
"史蒂文森2-18"
,
mass
=
40.0
*
MO
,
init_position
=
[
0
,
0
,
0
],
init_velocity
=
[
0
,
0
,
0
],
color
=
(
198
,
29
,
3
),
...
...
@@ -56,7 +56,7 @@ class Stephenson_2_18(FixedStar):
"mass"
:
mass
,
"init_position"
:
init_position
,
"init_velocity"
:
init_velocity
,
"density"
:
0.0002e3
,
"density"
:
5.60e-06
,
"color"
:
color
,
"texture"
:
texture
,
"size_scale"
:
size_scale
,
...
...
@@ -72,9 +72,11 @@ class Stephenson_2_18(FixedStar):
if
__name__
==
'__main__'
:
from
bodies
import
Sun
import
math
fixed_star
=
Stephenson_2_18
()
sun
=
Sun
()
print
(
fixed_star
)
print
(
"质量倍数"
,
fixed_star
.
mass
/
sun
.
mass
)
print
(
"半径倍数"
,
fixed_star
.
raduis
/
sun
.
raduis
)
r
=
2158
print
(
"密度換算"
,
fixed_star
.
mass
/
1e9
/
(
4
/
3
*
math
.
pi
*
pow
(
r
*
sun
.
raduis
,
3
)))
bodies/fixed_stars/uy_scuti.py
0 → 100644
浏览文件 @
fc200058
# -*- coding:utf-8 -*-
# title :参宿七
# description :参宿七
# author :Python超人
# date :2023-02-11
# link :https://gitcode.net/pythoncr/
# python_version :3.8
# ==============================================================================
from
bodies
import
FixedStar
from
common.consts
import
MO
class
UYScuti
(
FixedStar
):
"""
盾牌座 UY (UY Scuti)
质量:10个太阳质量
密度:不详
颜色值:#EFF6FF
直径:为1708±192倍太阳直径
中文名盾牌座 UY外文名UY Scuti
别 名UY Sct、BD−12°5055、IRC−10422、RAFGL 2162、HV 3805
分 类红超巨星发现时间1860年
质 量7 至 10 M⊙(有争议)
直 径2.376✕109 km(±0.268)表面温度3365 K(±134)视星等+8.29 ~ +10.56绝对星等-6.2 等 [1] 赤 经18时27分36.53秒赤 纬-12°27′58.86″距地距离9500 光年(±1030, 有争议) [1] 光谱类别M2-M4Ia-IabU-B 色指数+3.29 [2] B-V 色指数+3.00 [3] 变星类型SRc(半规则) [4] 光 度约340000 L⊙(有争议)半 径1708±192 R☉(有争议)表面重力加速度0.008 m/s²表面重力-0.5 cgs [2] 赤道自转线速度约1.95 km/s径向速度18.33±0.82 km/s [5] 视 差0.6433±0.1059 mas(有争议) [5] 自 行赤经: 1.3 mas/yr; 赤纬: −1.6 mas/yr
------------------------
== 太阳参数 ==
自转周期: 24.47 地球日,自转角速度约为 0.6130 度/小时 = 360/(24.47*24)
天体质量: 1.9891×10³⁰ kg
平均密度: 1.408×10³ kg/m³
"""
def
__init__
(
self
,
name
=
"盾牌座UY"
,
mass
=
10
*
MO
,
init_position
=
[
0
,
0
,
0
],
init_velocity
=
[
0
,
0
,
0
],
color
=
(
255
,
116
,
0
),
texture
=
"fixed_star.png"
,
size_scale
=
1.0
,
distance_scale
=
1.0
,
rotation_speed
=
0.1
,
ignore_mass
=
False
):
params
=
{
"name"
:
name
,
"mass"
:
mass
,
"init_position"
:
init_position
,
"init_velocity"
:
init_velocity
,
"density"
:
2.832e-06
,
"color"
:
color
,
"texture"
:
texture
,
"size_scale"
:
size_scale
,
"distance_scale"
:
distance_scale
,
"rotation_speed"
:
rotation_speed
,
"ignore_mass"
:
ignore_mass
}
super
().
__init__
(
**
params
)
if
__name__
==
'__main__'
:
from
bodies
import
Sun
import
math
fixed_star
=
UYScuti
()
sun
=
Sun
()
print
(
fixed_star
)
print
(
"质量倍数"
,
fixed_star
.
mass
/
sun
.
mass
)
print
(
"半径倍数"
,
fixed_star
.
raduis
/
sun
.
raduis
)
r
=
1708
print
(
"密度換算"
,
fixed_star
.
mass
/
1e9
/
(
4
/
3
*
math
.
pi
*
pow
(
r
*
sun
.
raduis
,
3
)))
# print( "%s" % (2.376e9 / (sun.raduis*2)))
\ No newline at end of file
bodies/fixed_stars/
canis_majoris_vy
.py
→
bodies/fixed_stars/
vy_canis_majoris
.py
浏览文件 @
fc200058
...
...
@@ -10,32 +10,34 @@ from bodies import FixedStar
from
common.consts
import
MO
class
CanisMajorisVY
(
FixedStar
):
class
VYCanisMajoris
(
FixedStar
):
"""
TODO: 大犬座VY(VY Canis Majoris)
质量:
30.0
太阳质量
大小:1420 太阳半径
颜色:
0xFF, 0x8D, 0x29
质量:
17±8
太阳质量
大小:1420
-2100
太阳半径
颜色:
234,90,65
密度:0.0004 g/cm³
平均密度5.33✕10-3 至 8.38✕10-3 g/m³ 0.00533
中文名大犬座VY外文名VY Canis Majoris
别 名VY CMa
分 类红特超巨星
发现者杰罗姆·拉朗德发现时间1801年3月7日
平均密度5.33✕10-3 至 8.38✕10-3 g/m³表
面温度3490 K(±90)
视星等6.5 至 9.6 等
赤 经07时22分58.33秒
赤 纬-25°46′03.24″
距地距离3820 光年(+260 −230)
光谱型M3-M4.5(M2.5-M5e Ia) [1-3]
视星等(U)12.01 [4] 视星等(B)10.19 [4] 视星等(V)7.95 [4]
视星等(J)1.98 [4] 视星等(H)0.44 [4] 视星等(K)8.1 [5]
U-B色指数+2.32 [6] B-V色指数+2.057 [7] V-R色指数+2.20 [6]
变星类型SRc或Lc [8-9] 径向速度41 km/s [10] 自 行赤
经:9.84 mas/yr 赤纬:0.75 mas/yr [7]
视 差0.83±0.08 mas [11] 距 离1,170(+80或-70)pc,3,820(+260或-230)ly [1] 绝对热星等-9.4
恒星质量17±8 M☉ [1]
半 径2,069 R☉ [1] [12-13]
中文名大犬座VY外文名VY Canis Majoris别 名VY CMa分
类红特超巨星发现者杰罗姆·拉朗德发现时间1801年3月7日平均密度5.33✕10-3 至 8.38✕10-3 g/m³
表面温度3490 K(±90)视星等6.5 至 9.6 等赤 经07时22分58.33秒赤 纬-25°46′03.24″
距地距离3820 光年(+260 −230)光谱型M3-M4.5(M2.5-M5e Ia) [1-3]
视星等(U)12.01 [4] 视星等(B)10.19 [4] 视星等(V)7.95 [4] 视星等(J)1.98 [4]
视星等(H)0.44 [4] 视星等(K)8.1 [5] U-B色指数+2.32 [6] B-V色指数+2.057 [7] V-R色指数+2.20 [6]
变星类型SRc或Lc [8-9] 径向速度41 km/s [10] 自
行赤经:9.84 mas/yr 赤纬:0.75 mas/yr [7] 视 差0.83±0.08 mas [11]
距 离1,170(+80或-70)pc,3,820(+260或-230)ly [1] 绝对热星等-9.4
热光度270,000±40,000,178,000(+40,900或-29,900)L☉ [12-14]
表面重力-0.6±0.4 cgs [1] 有效温度3,940±90 K [1] 金属丰度[Fe/H]-0.3 dex [15] 自转速度300 km/s [11]
年 龄8.2 Myr [11]
热光度270,000±40,000,178,000(+40,900或-29,900)L☉ [12-14] 表面重力-0.6±0.4 cgs [1] 有效温度3,940±90 K [1] 金属丰度[Fe/H]-0.3 dex [15] 自转速度300 km/s [11] 年 龄8.2 Myr [11]
------------------------
== 太阳参数 ==
自转周期: 24.47 地球日,自转角速度约为 0.6130 度/小时 = 360/(24.47*24)
...
...
@@ -43,10 +45,10 @@ class CanisMajorisVY(FixedStar):
平均密度: 1.408×10³ kg/m³
"""
def
__init__
(
self
,
name
=
"大犬座VY"
,
mass
=
30
*
MO
,
def
__init__
(
self
,
name
=
"大犬座VY"
,
mass
=
25
*
MO
,
init_position
=
[
0
,
0
,
0
],
init_velocity
=
[
0
,
0
,
0
],
color
=
(
0xFF
,
0x5B
,
0x5B
),
color
=
(
234
,
90
,
65
),
texture
=
"fixed_star.png"
,
size_scale
=
1.0
,
distance_scale
=
1.0
,
rotation_speed
=
0.1
,
ignore_mass
=
False
):
params
=
{
...
...
@@ -54,7 +56,7 @@ class CanisMajorisVY(FixedStar):
"mass"
:
mass
,
"init_position"
:
init_position
,
"init_velocity"
:
init_velocity
,
"density"
:
1.
408e3
,
"density"
:
1.
23e-05
,
"color"
:
color
,
"texture"
:
texture
,
"size_scale"
:
size_scale
,
...
...
@@ -67,8 +69,11 @@ class CanisMajorisVY(FixedStar):
if
__name__
==
'__main__'
:
from
bodies
import
Sun
fixed_star
=
CanisMajorisVY
()
import
math
fixed_star
=
VYCanisMajoris
()
sun
=
Sun
()
print
(
fixed_star
)
print
(
"质量倍数"
,
fixed_star
.
mass
/
sun
.
mass
)
print
(
"半径倍数"
,
fixed_star
.
raduis
/
sun
.
raduis
)
r
=
1420
print
(
"密度換算"
,
fixed_star
.
mass
/
1e9
/
(
4
/
3
*
math
.
pi
*
pow
(
r
*
sun
.
raduis
,
3
)))
\ No newline at end of file
scenes/fixed_stars.py
浏览文件 @
fc200058
...
...
@@ -6,7 +6,8 @@
# link :https://gitcode.net/pythoncr/
# python_version :3.8
# ==============================================================================
from
bodies
import
Sun
,
Earth
,
Sirius
,
Rigel
,
Alcyone
,
Antares
,
Arcturus
,
Betelgeuse
,
Stephenson_2_18
from
bodies
import
Sun
,
Earth
,
Sirius
,
Rigel
,
Bellatrix
,
Alcyone
,
Antares
,
Arcturus
,
Aldebaran
,
Betelgeuse
from
bodies
import
VYCanisMajoris
,
UYScuti
,
Stephenson_2_18
from
common.consts
import
SECONDS_PER_WEEK
,
SECONDS_PER_MONTH
,
SECONDS_PER_YEAR
,
SECONDS_PER_DAY
from
scenes.func
import
mayavi_run
,
mpl_run
,
ursina_run
from
bodies.body
import
Body
,
AU
...
...
@@ -20,14 +21,18 @@ if __name__ == '__main__':
SIZE_SCALE
=
0.02
bodies
=
[
Earth
(
size_scale
=
1
,
init_velocity
=
[
0
,
29.79
,
0
],
distance_scale
=
0.0006
),
Sun
(
size_scale
=
SIZE_SCALE
),
Sirius
(
size_scale
=
SIZE_SCALE
,
ignore_mass
=
True
),
Alcyone
(
size_scale
=
SIZE_SCALE
,
ignore_mass
=
True
),
Arcturus
(
size_scale
=
SIZE_SCALE
,
ignore_mass
=
True
),
Rigel
(
size_scale
=
SIZE_SCALE
,
ignore_mass
=
True
),
Antares
(
size_scale
=
SIZE_SCALE
,
ignore_mass
=
True
),
# Betelgeuse(size_scale=SIZE_SCALE, ignore_mass=True),
Stephenson_2_18
(
size_scale
=
SIZE_SCALE
,
ignore_mass
=
True
)
Sun
(
size_scale
=
SIZE_SCALE
),
# 太阳
Sirius
(
size_scale
=
SIZE_SCALE
,
ignore_mass
=
True
),
# 天狼星A 质量倍数 2.06 半径倍数 1.71
Bellatrix
(
size_scale
=
SIZE_SCALE
,
ignore_mass
=
True
),
# 参宿五 质量倍数 8.6 半径倍数 5.75
Alcyone
(
size_scale
=
SIZE_SCALE
,
ignore_mass
=
True
),
# 昴宿六 质量倍数 7 半径倍数 10
Arcturus
(
size_scale
=
SIZE_SCALE
,
ignore_mass
=
True
),
# 大角星 质量倍数 1.08 半径倍数 25.42
Aldebaran
(
size_scale
=
SIZE_SCALE
,
ignore_mass
=
True
),
# 毕宿五 质量倍数 1.16 半径倍数 44.13
Rigel
(
size_scale
=
SIZE_SCALE
,
ignore_mass
=
True
),
# 参宿七 质量倍数 21 半径倍数 78.9
Antares
(
size_scale
=
SIZE_SCALE
,
ignore_mass
=
True
),
# 心宿二 质量倍数 12 半径倍数 770
Betelgeuse
(
size_scale
=
SIZE_SCALE
,
ignore_mass
=
True
),
# 参宿四 质量倍数 11.6 半径倍数 887
VYCanisMajoris
(
size_scale
=
SIZE_SCALE
,
ignore_mass
=
True
),
# 大犬座VY 质量倍数 25 半径倍数 1419.75
UYScuti
(
size_scale
=
SIZE_SCALE
,
ignore_mass
=
True
),
# 盾牌座 UY 质量倍数 10.0 半径倍数 1706.7
Stephenson_2_18
(
size_scale
=
SIZE_SCALE
,
ignore_mass
=
True
)
# 史蒂文森2-18 质量倍数 40.0 半径倍数 2158.5
]
distance_sum
=
0
for
idx
,
body
in
enumerate
(
bodies
):
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录