diff --git a/sim_scenes/fiction/sun_dysen_sphere.py b/sim_scenes/fiction/sun_dysen_sphere.py index 27150190b0bf2662bf2c2178af2037b3821de741..765f22ec58738d01574e70b8a04d187f22cade78 100644 --- a/sim_scenes/fiction/sun_dysen_sphere.py +++ b/sim_scenes/fiction/sun_dysen_sphere.py @@ -27,5 +27,5 @@ if __name__ == '__main__': # 使用 ursina 查看的运行效果 # 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹 # position = 左-右+、上+下-、前+后- - ursina_run(bodies, SECONDS_PER_WEEK, position=(0, AU / 4, -2 * AU), + ursina_run(bodies, SECONDS_PER_WEEK, position=(0, AU / 4, -3 * AU), bg_music="sounds/universe_02.mp3") diff --git a/sim_scenes/science/gravity_slingshot.py b/sim_scenes/science/gravity_slingshot.py index 3916b9f0562244682b2e66ea2d805e6d69771d35..07d5830479692eaaa5a0aff4558204f66a9ee612 100644 --- a/sim_scenes/science/gravity_slingshot.py +++ b/sim_scenes/science/gravity_slingshot.py @@ -32,4 +32,4 @@ if __name__ == '__main__': # 使用 ursina 查看的运行效果 # 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹 # position = 左-右+、上+下-、前+后- - ursina_run(bodies, SECONDS_PER_MONTH, position=(0, AU, -3 * AU), show_trail=True) + ursina_run(bodies, SECONDS_PER_MONTH, position=(0, AU / 2, -4 * AU), show_trail=True) diff --git a/sim_scenes/solar_system/earth_at_night.py b/sim_scenes/solar_system/earth_at_night.py index 9a5d150448844342143b3b3fbc8c42a67cf32954..dfc3ccea47842fa5151bba871c7006fb3b1293b5 100644 --- a/sim_scenes/solar_system/earth_at_night.py +++ b/sim_scenes/solar_system/earth_at_night.py @@ -22,4 +22,4 @@ if __name__ == '__main__': # 使用 ursina 查看的运行效果 # 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹 # position = 左-右+、上+下-、前+后- - ursina_run(bodies, SECONDS_PER_HOUR / 2, position=(0, 200000, -2000000), cosmic_bg="textures/cosmic2.jpg") + ursina_run(bodies, SECONDS_PER_HOUR / 2, position=(0, 120000, -2500000), cosmic_bg="textures/cosmic2.jpg") diff --git a/sim_scenes/solar_system/earth_moon.py b/sim_scenes/solar_system/earth_moon.py index 1fc6e4c2972256ddfb8c9aca533d346d50fe5314..43f0edfa1bba80a86231a75add6f981450780573 100644 --- a/sim_scenes/solar_system/earth_moon.py +++ b/sim_scenes/solar_system/earth_moon.py @@ -29,4 +29,4 @@ if __name__ == '__main__': # 使用 ursina 查看的运行效果 # 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹 # position = 左-右+、上+下-、前+后- - ursina_run(bodies, SECONDS_PER_MONTH, position=(-300000, 300000, -1000000), show_trail=True) + ursina_run(bodies, SECONDS_PER_MONTH, position=(-300000, 200000, -1300000), show_trail=True) diff --git a/sim_scenes/solar_system/hd_mercury.py b/sim_scenes/solar_system/hd_mercury.py index a2daa2aa7a3701cd94e64cab51d7f2e59f1e4389..cb81dad122f2074e0e8978078ee2782aa0315c95 100644 --- a/sim_scenes/solar_system/hd_mercury.py +++ b/sim_scenes/solar_system/hd_mercury.py @@ -22,4 +22,4 @@ if __name__ == '__main__': # 使用 ursina 查看的运行效果 # 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹 # position = 左-右+、上+下-、前+后- - ursina_run(bodies, SECONDS_PER_DAY, position=(0, 30000, -700000), cosmic_bg="textures/cosmic1.jpg") + ursina_run(bodies, SECONDS_PER_DAY, position=(0, 30000, -800000), cosmic_bg="textures/cosmic1.jpg") diff --git a/sim_scenes/solar_system/sun_earth.py b/sim_scenes/solar_system/sun_earth.py index 89c5ea31e2072628df5da55e2e74ff08d24a700b..d78263f5a16327a27997cba897ba21b1ef7216f0 100644 --- a/sim_scenes/solar_system/sun_earth.py +++ b/sim_scenes/solar_system/sun_earth.py @@ -25,4 +25,4 @@ if __name__ == '__main__': # 使用 ursina 查看的运行效果 # 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹 # position = 左-右+、上+下-、前+后- - ursina_run(bodies, SECONDS_PER_WEEK, position=(0, AU, -3 * AU), show_trail=True) + ursina_run(bodies, SECONDS_PER_WEEK, position=(0, AU, -4 * AU), show_trail=True) diff --git a/sim_scenes/solar_system/sun_earth_jupiter.py b/sim_scenes/solar_system/sun_earth_jupiter.py index 009bfe7c19139b5b8b9d05f26c2adb87c24ea38e..55758c1f67bf6e1a8c05676840da343736333a33 100644 --- a/sim_scenes/solar_system/sun_earth_jupiter.py +++ b/sim_scenes/solar_system/sun_earth_jupiter.py @@ -26,4 +26,4 @@ if __name__ == '__main__': # 使用 ursina 查看的运行效果 # 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹 # position = 左-右+、上+下-、前+后- - ursina_run(bodies, SECONDS_PER_WEEK, position=(0, AU, -3 * AU), show_trail=True) + ursina_run(bodies, SECONDS_PER_WEEK, position=(0, AU, -4 * AU), show_trail=True) diff --git a/sim_scenes/tri_bodies/tri_bodies_01.py b/sim_scenes/tri_bodies/tri_bodies_01.py index a0a872b86bdbd468b5e96d07e47edad6047babb6..2eb7fa843969b05975572c99cc4e17f2dbe8431b 100644 --- a/sim_scenes/tri_bodies/tri_bodies_01.py +++ b/sim_scenes/tri_bodies/tri_bodies_01.py @@ -20,11 +20,11 @@ if __name__ == '__main__': """ bodies = [ Sun(mass=1.5e30, init_position=[849597870.700, 0, 0], init_velocity=[0, 7.0, 0], - size_scale=5e1, texture="sun2.jpg"), # 太阳放大 100 倍 + size_scale=5e1, texture="sun2.jpg"), # 太阳放大 50 倍 Sun(mass=2e30, init_position=[0, 0, 0], init_velocity=[0, -8.0, 0], - size_scale=5e1, texture="sun2.jpg"), # 太阳放大 100 倍 + size_scale=5e1, texture="sun2.jpg"), # 太阳放大 50 倍 Sun(mass=2.5e30, init_position=[0, -849597870.700, 0], init_velocity=[18.0, 0, 0], - size_scale=5e1, texture="sun2.jpg"), # 太阳放大 100 倍 + size_scale=5e1, texture="sun2.jpg"), # 太阳放大 50 倍 Earth(init_position=[0, -349597870.700, 0], init_velocity=[15.50, 0, 0], size_scale=4e3, distance_scale=1), # 地球放大 4000 倍,距离保持不变 ] @@ -34,4 +34,4 @@ if __name__ == '__main__': # 使用 ursina 查看的运行效果 # 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹 # position = 左-右+、上+下-、前+后- - ursina_run(bodies, SECONDS_PER_YEAR, position=(3 * AU, AU, -4 * AU), show_trail=True) \ No newline at end of file + ursina_run(bodies, SECONDS_PER_YEAR, position=(3 * AU, AU, -5 * AU), show_trail=True) \ No newline at end of file diff --git a/sim_scenes/tri_bodies/tri_bodies_02.py b/sim_scenes/tri_bodies/tri_bodies_02.py index 8fec6fa7aff0a8fcd9a3ddf9ed91ee3730641069..dc86bc841d82547d7d9aebda337414fef60754fe 100644 --- a/sim_scenes/tri_bodies/tri_bodies_02.py +++ b/sim_scenes/tri_bodies/tri_bodies_02.py @@ -7,7 +7,7 @@ # python_version :3.8 # ============================================================================== from bodies import Sun, Earth -from common.consts import SECONDS_PER_WEEK, SECONDS_PER_DAY +from common.consts import SECONDS_PER_WEEK, SECONDS_PER_DAY, SECONDS_PER_YEAR, AU from sim_scenes.func import mayavi_run, ursina_run if __name__ == '__main__': @@ -19,16 +19,21 @@ if __name__ == '__main__': 3、天体质量 mass """ bodies = [ - Sun(mass=5e30, init_position=[649597870.700, 0, 0], init_velocity=[0, 5.0, 0], - size_scale=5e1, texture="sun1.jpg"), # 太阳放大 100 倍 - Sun(mass=4e30, init_position=[0, 0, 249597870.700], init_velocity=[0, -6.0, 0], - size_scale=5e1, texture="sun2.jpg"), # 太阳放大 100 倍 - Sun(mass=3e30, init_position=[0, -649597870.700, 0], init_velocity=[6.0, 0, 0], - size_scale=5e1, texture="sun2.jpg"), # 太阳放大 100 倍 + Sun(mass=5e30, init_position=[649597870.700, 0, 0], init_velocity=[0, 15.0, 0], + size_scale=5e1, texture="sun1.jpg"), # 太阳放大 50 倍 + Sun(mass=4e30, init_position=[0, 0, 249597870.700], init_velocity=[0, -16.0, 0], + size_scale=5e1, texture="sun2.jpg"), # 太阳放大 50 倍 + Sun(mass=3e30, init_position=[0, -649597870.700, 0], init_velocity=[16.0, 0, 0], + size_scale=5e1, texture="sun2.jpg"), # 太阳放大 50 倍 Earth(init_position=[0, -249597870.700, 0], init_velocity=[15.50, 0, 0], size_scale=4e3, distance_scale=1), # 地球放大 4000 倍,距离保持不变 ] # 使用 mayavi 查看的运行效果 - mayavi_run(bodies, SECONDS_PER_WEEK, view_azimuth=0) + # mayavi_run(bodies, SECONDS_PER_WEEK, view_azimuth=0) + + # 使用 ursina 查看的运行效果 + # 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹 + # position = 左-右+、上+下-、前+后- + ursina_run(bodies, SECONDS_PER_YEAR, position=(2 * AU, 3 * AU, -20 * AU), show_trail=True) \ No newline at end of file diff --git a/sim_scenes/tri_bodies/tri_bodies_03.py b/sim_scenes/tri_bodies/tri_bodies_03.py index ff01efbbcd9839b2dab87d6389a6ddc94e596afb..1a5b29a72a995a12e0b130cb60609d22936bd51f 100644 --- a/sim_scenes/tri_bodies/tri_bodies_03.py +++ b/sim_scenes/tri_bodies/tri_bodies_03.py @@ -59,4 +59,4 @@ if __name__ == '__main__': # 使用 ursina 查看的运行效果 # 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹 # position = 左-右+、上+下-、前+后- - ursina_run(bodies, SECONDS_PER_YEAR, position=(3 * AU, 3 * AU, -20 * AU), show_trail=True) + ursina_run(bodies, SECONDS_PER_YEAR, position=(3 * AU, 5 * AU, -20 * AU), show_trail=True) diff --git a/sim_scenes/tri_bodies/tri_bodies_perfect.py b/sim_scenes/tri_bodies/tri_bodies_perfect.py index dc51147f9afea795344d8de7c8f7c3be9d4f616e..8bfd5a9c9aee3f4bd4f23b6a108119602ed436c5 100644 --- a/sim_scenes/tri_bodies/tri_bodies_perfect.py +++ b/sim_scenes/tri_bodies/tri_bodies_perfect.py @@ -54,6 +54,6 @@ if __name__ == '__main__': # 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹 # position = 左-右+、上+下-、前+后- ursina_run(bodies, SECONDS_PER_YEAR, - position=(-2 * AU, 1.5 * AU, -8 * AU), + position=(-2 * AU, 1.5 * AU, -9 * AU), # save_as_json="../../data/tri_bodies_perfect_05.json", # 保存 json 文件到 data 目录 show_trail=True) diff --git a/sim_scenes/tri_bodies/two_bodies_01.py b/sim_scenes/tri_bodies/two_bodies_01.py index b617d853641c0b6a31af4b0970750026634515f4..b58e4da6505811749289a79346dbebc2eaea4e6b 100644 --- a/sim_scenes/tri_bodies/two_bodies_01.py +++ b/sim_scenes/tri_bodies/two_bodies_01.py @@ -33,4 +33,4 @@ if __name__ == '__main__': # 使用 ursina 查看的运行效果 # 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹 # position = 左-右+、上+下-、前+后- - ursina_run(bodies, SECONDS_PER_YEAR, position=(0, 2 * AU, -5 * AU), show_trail=True) \ No newline at end of file + ursina_run(bodies, SECONDS_PER_YEAR, position=(AU, 2 * AU, -7 * AU), show_trail=True) \ No newline at end of file diff --git a/simulators/ursina_simulator.py b/simulators/ursina_simulator.py index 84a489226444b965f8bf2e8851d65eaedcffde27..1d3477fce946006c5f9a21cc0e510093f0f5bea6 100644 --- a/simulators/ursina_simulator.py +++ b/simulators/ursina_simulator.py @@ -234,9 +234,9 @@ class UrsinaSimulator(Simulator): window.title = '宇宙模拟器' # 设置 camera 的裁剪面和位置 - # camera.clip_plane_near = 0.01 - # camera.fov = 120 - # camera.clip_plane_far = 1000 + camera.clip_plane_near = 0.01 + camera.fov = 60 + camera.clip_plane_far = 50000 # camera.position = (0, 10, -20) # camera.rotation_x = -30 diff --git a/simulators/views/ursina_view.py b/simulators/views/ursina_view.py index 8e8e7c53f89d9e7fdcb7217e0772941601956355..d6fa3fa046c1561194e3d72f3c4cb1bae1039c02 100644 --- a/simulators/views/ursina_view.py +++ b/simulators/views/ursina_view.py @@ -119,7 +119,7 @@ class Planet(Entity): color=self.plant_color, position=pos, rotation=rotation, - double_sided=True + # double_sided=True ) if hasattr(self.body_view.body, "torus_stars") or \