arcturus.py 2.2 KB
Newer Older
三月三net's avatar
三月三net 已提交
1 2 3 4 5 6 7 8
# -*- coding:utf-8 -*-
# title           :大角星
# description     :大角星
# author          :Python超人
# date            :2023-02-11
# link            :https://gitcode.net/pythoncr/
# python_version  :3.8
# ==============================================================================
三月三net's avatar
三月三net 已提交
9
from bodies import FixedStar
三月三net's avatar
三月三net 已提交
10 11 12 13 14
from common.consts import MO


class Arcturus(FixedStar):
    """
三月三net's avatar
三月三net 已提交
15 16
    大角星 (Arcturus)
    质量:太阳质量
三月三net's avatar
三月三net 已提交
17 18 19 20 21
    密度:1.16×10⁻⁴ g/cm³
    颜色值:#FF9100
    直径:1,180倍太阳直径


三月三net's avatar
三月三net 已提交
22 23 24 25 26 27 28 29 30 31 32 33 34 35
    中文名大角星
    外文名Arcturus
    别    名牧夫座α,牧夫座16 [2]  、α Boötis、天栋
    分    类恒星(橙巨星)
    质    量约 1.08 M⊙ [4]
    表面温度约 4286 K [4]
    视星等-0.05 等 [3]
    绝对星等-0.38 等
    赤    经14时15分39.7秒
    赤    纬+19°10′56″
    距地距离36.7 光年
    半    径25.4±0.2 R☉ [4]
    光    度170 L☉ [5]
    光谱类型K0III [2]
三月三net's avatar
三月三net 已提交
36 37 38 39 40 41 42 43

    ------------------------
    == 太阳参数 ==
    自转周期: 24.47 地球日,自转角速度约为 0.6130 度/小时 = 360/(24.47*24)
    天体质量: 1.9891×10³⁰ kg
    平均密度: 1.408×10³ kg/m³
    """

三月三net's avatar
三月三net 已提交
44
    def __init__(self, name="大角星", mass=1.08 * MO,
三月三net's avatar
三月三net 已提交
45 46
                 init_position=[0, 0, 0],
                 init_velocity=[0, 0, 0],
三月三net's avatar
三月三net 已提交
47
                 color=(254,218,185),
三月三net's avatar
三月三net 已提交
48 49 50 51 52 53 54
                 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,
三月三net's avatar
三月三net 已提交
55
            "density": 0.0925,
三月三net's avatar
三月三net 已提交
56 57 58 59 60 61 62 63 64 65 66
            "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__':
三月三net's avatar
三月三net 已提交
67
    from bodies import Sun
三月三net's avatar
三月三net 已提交
68 69 70 71 72
    fixed_star = Arcturus()
    sun = Sun()
    print(fixed_star)
    print("质量倍数", fixed_star.mass / sun.mass)
    print("半径倍数", fixed_star.raduis / sun.raduis)