saturn.py 1.5 KB
Newer Older
M
march3 已提交
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
# -*- coding:utf-8 -*-
# title           :
# description     :
# author          :Python超人
# date            :2023-01-22
# notes           :
# python_version  :3.8
# ==============================================================================
from bodies.body import Body, AU


class Saturn(Body):
    """
    土星
    ------------------------
    远日点距离: 10.1238 天文单位
    近日点距离: 9.0412 天文单位
    逃逸速度: 35.49 km/s
     公转速度: 9.64 km/s
     天体质量: 5.6834✕10²⁶ kg
     平均密度: 0.687 g/cm³ -> 0.687×10³ kg/m³
    """

    def __init__(self, name="Saturn", mass=5.6834e26,
                 init_position=[10 * AU, 0, 0],
                 init_velocity=[0, 9.64, 0],
M
march3 已提交
27
                 texture="saturn.jpg", size_scale=1.0, distance_scale=1.0):
M
march3 已提交
28 29 30 31 32 33
        params = {
            "name": name,
            "mass": mass,
            "init_position": init_position,
            "init_velocity": init_velocity,
            "density": 0.687e3,
M
march3 已提交
34
            "color": (219, 189, 159),
M
march3 已提交
35 36 37 38 39 40
            "texture": texture,
            "size_scale": size_scale,
            "distance_scale": distance_scale
        }
        super().__init__(**params)

M
march3 已提交
41 42 43 44 45 46 47 48
    @property
    def has_rings(self):
        """
        土星带光环的天体
        :return:
        """
        return True

M
march3 已提交
49 50 51 52 53 54 55 56
    @property
    def rings_color(self):
        """
        土星光环的颜色
        :return:
        """
        return 173, 121, 92

M
march3 已提交
57 58 59 60

if __name__ == '__main__':
    saturn = Saturn()
    print(saturn)