vy_canis_majoris.py 3.0 KB
Newer Older
三月三net's avatar
三月三net 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
# -*- coding:utf-8 -*-
# title           :大犬座VY
# description     :大犬座VY
# 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 VYCanisMajoris(FixedStar):
    """
    TODO: 大犬座VY(VY Canis Majoris)
    质量:17±8 太阳质量
    大小:1420-2100 太阳半径
    颜色:234,90,65
    密度:0.0004 g/cm³

  中文名大犬座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]
  热光度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)
    天体质量: 1.9891×10³⁰ kg
    平均密度: 1.408×10³ kg/m³
    """

    def __init__(self, name="大犬座VY", mass=25 * MO,
                 init_position=[0, 0, 0],
                 init_velocity=[0, 0, 0],
                 color=(234,90,65),
                 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": 1.23e-05,
            "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 = 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)))