From 4adc666fa0f1ee584e5e102f6f545a5098c7f3de Mon Sep 17 00:00:00 2001 From: march3 Date: Wed, 2 Aug 2023 18:20:18 +0800 Subject: [PATCH] =?UTF-8?q?Python=E8=B6=85=E4=BA=BA-=E5=AE=87=E5=AE=99?= =?UTF-8?q?=E6=A8=A1=E6=8B=9F=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sim_scenes/tri_bodies/water_drop_01.py | 30 +++++++++++++++++--------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/sim_scenes/tri_bodies/water_drop_01.py b/sim_scenes/tri_bodies/water_drop_01.py index d16a774..327ab4d 100644 --- a/sim_scenes/tri_bodies/water_drop_01.py +++ b/sim_scenes/tri_bodies/water_drop_01.py @@ -26,44 +26,54 @@ if __name__ == '__main__': # TODO: 可以抵消月球带动地球的力,保持地球在原地 # OFFSETTING = 0.01265 # sun = Sun(name="太阳", size_scale=6e1, init_position=[0, 0, -AU]).set_ignore_gravity(True) - earth = Earth(init_position=[0, -200000, -50000], + earth_size_scale = 2.5e2 + earth = Earth(init_position=[0, -2500000, 0], texture="earth_hd.jpg", - rotate_angle=-23.44, - init_velocity=[OFFSETTING, 0, 0], size_scale=2.5e1) # 地球放大 5 倍,距离保持不变 + # rotate_angle=0, + init_velocity=[OFFSETTING, 0, 0], size_scale=earth_size_scale).set_ignore_gravity( + True) # 地球放大 5 倍,距离保持不变 + # 创建云层(texture纹理图使用了透明云层的图片,云层的 size_scale 要稍微比地球大一点) + clouds = Earth(name="地球云层", texture="transparent_clouds.png", + # rotate_angle=0, + init_position=[0, -2500000, 0], + size_scale=earth_size_scale * 1.01, parent=earth).set_ignore_gravity(True) + water_drop = WaterDrop(init_position=[AU / 100, 0, AU / 40], init_velocity=[-1, 0, 0], - size_scale=5e4) + size_scale=5e4).set_ignore_gravity(True) # moon = Moon(init_position=[0, 0, 363104], # 距地距离约: 363104 至 405696 km # init_velocity=[-1.03, 0, 0], size_scale=2e1) # 月球放大 10 倍,距离保持不变 # moon.set_light_disable(True) d = 100000 num_x = 9 - num_z = 5 + num_z = 9 x_offset = - (num_x - 1) / 2 * d + z_offset = - (num_z - 1) / 2 * d ship_list = [] for x in range(num_x): for z in range(num_z): core_valaga_clas = CoreValagaClas(size_scale=15, init_position=[x_offset + x * d, -30000, - z * d - 20000]).set_ignore_gravity(True) + z_offset + z * d - 20000]).set_ignore_gravity(True) ship_list.append(core_valaga_clas) for x in range(num_x): for z in range(num_z): sci_fi_bomber = SciFiBomber(size_scale=3.5, - init_position=[x_offset + x * d, 30000, z * d - 20000]).set_ignore_gravity(True) + init_position=[x_offset + x * d, 30000, + z_offset + z * d - 20000]).set_ignore_gravity(True) ship_list.append(sci_fi_bomber) - earth.rotation_speed /= 6 # 地球的转速降低50倍 + # earth.rotation_speed /= 6 # 地球的转速降低50倍 - bodies = [earth, water_drop] + ship_list + bodies = [earth, clouds, water_drop] + ship_list def on_timer_changed(time_data: TimeData): if time_data.total_days > 27.5: exit(0) - camera_look_at(water_drop, rotation_z=0) + # camera_look_at(water_drop, rotation_z=0) def on_ready(): -- GitLab