sun.py 1.5 KB
Newer Older
M
march3 已提交
1
# -*- coding:utf-8 -*-
M
march3 已提交
2 3
# title           :太阳
# description     :太阳
M
march3 已提交
4
# author          :Python超人
M
march3 已提交
5 6
# date            :2023-02-11
# link            :https://gitcode.net/pythoncr/
M
march3 已提交
7 8
# python_version  :3.8
# ==============================================================================
三月三net's avatar
三月三net 已提交
9
from bodies import FixedStar
M
march3 已提交
10 11


三月三net's avatar
三月三net 已提交
12
class Sun(FixedStar):
M
march3 已提交
13 14 15
    """
    太阳
    ------------------------
三月三net's avatar
三月三net 已提交
16
    自转周期: 24.47 地球日,自转角速度约为 0.6130 度/小时 = 360/(24.47*24)
M
march3 已提交
17 18 19 20
    天体质量: 1.9891×10³⁰ kg
    平均密度: 1.408×10³ kg/m³
    """

三月三net's avatar
三月三net 已提交
21
    def __init__(self, name="太阳", mass=1.9891e30,
M
march3 已提交
22 23
                 init_position=[0, 0, 0],
                 init_velocity=[0, 0, 0],
三月三net's avatar
三月三net 已提交
24
                 color=(170, 98, 25),
三月三net's avatar
三月三net 已提交
25
                 texture="sun2.jpg", size_scale=1.0, distance_scale=1.0,
三月三net's avatar
三月三net 已提交
26
                 rotation_speed=0.6130, ignore_mass=False):
M
march3 已提交
27 28 29 30 31 32
        params = {
            "name": name,
            "mass": mass,
            "init_position": init_position,
            "init_velocity": init_velocity,
            "density": 1.408e3,
三月三net's avatar
三月三net 已提交
33
            "color": color,
M
march3 已提交
34 35
            "texture": texture,
            "size_scale": size_scale,
三月三net's avatar
三月三net 已提交
36
            "distance_scale": distance_scale,
三月三net's avatar
三月三net 已提交
37 38
            "rotation_speed": rotation_speed,
            "ignore_mass": ignore_mass
M
march3 已提交
39 40 41
        }
        super().__init__(**params)

M
march3 已提交
42 43 44 45 46 47 48 49
    @property
    def is_fixed_star(self):
        """
        太阳为恒星
        :return:
        """
        return True

M
march3 已提交
50 51 52

if __name__ == '__main__':
    print(Sun())