# -*- coding:utf-8 -*- # title :鸟神星 # description :鸟神星 # author :Python超人 # date :2023-12-05 # link :https://gitcode.net/pythoncr/ # python_version :3.9 # ============================================================================== from bodies.body import Body, AU from bodies import Earth class Makemake(Body): """ 鸟神星 ------------------------ 自转周期: 远日点: 7 939.7 Gm(53.074 AU); 近日点: 5760.8 Gm(38.509 AU); 逃逸速度: 0.84 km/s 轨道周期: 113183 天(约 310 年) 平均速度: 4.419 km/s 天体质量: 4×10²¹ kg 平均密度: 2 g/cm³ -> 2✕10³ kg/m³ 直 径: 大约是冥王星的2/3, 1,500+400-200公里 """ def __init__(self, name="鸟神星", mass=4e21, init_position=[0, 0, 51 * AU], init_velocity=[-4.419, 0, 0], texture="haumea.jpg", size_scale=1.0, distance_scale=1.0, rotation_speed=0, ignore_mass=False, trail_color=None, show_name=False): """ @param name: 鸟神星名称 @param mass: 鸟神星质量 (kg) @param init_position: 初始位置 (km) @param init_velocity: 初始速度 (km/s) @param texture: 纹理图片 @param size_scale: 尺寸缩放 @param distance_scale: 距离缩放 @param rotation_speed: 自旋速度(度/小时) @param ignore_mass: 是否忽略质量(如果为True,则不计算引力) TODO: 注意:这里的算法是基于牛顿的万有引力(质量为0不受引力的影响在天体物理学中是不严谨) @param trail_color:鸟神星拖尾颜色(默认天体颜色) @param show_name: 是否显示鸟神星名称 @param gravity_only_for_earth: 如果为True,则仅适用于地球的重力,与其他天体之间的重力不会受到影响 """ params = { "name": name, "mass": mass, "init_position": init_position, "init_velocity": init_velocity, "density": 2.e3, "color": (162, 162, 162), "texture": texture, "size_scale": size_scale, "distance_scale": distance_scale, "rotation_speed": rotation_speed, "ignore_mass": ignore_mass, "trail_color": trail_color, "show_name": show_name } super().__init__(**params) if __name__ == '__main__': makemake = Makemake() makemake.show_demo() print(makemake)