From 7018223c42e56d0862612e24e2ee0a769c21b43f Mon Sep 17 00:00:00 2001 From: march3 Date: Fri, 24 Mar 2023 14:10:13 +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 --- ...erfect_01.json => tri_bodies_perfect_01.json} | 15 +++++++++++++++ ...erfect_02.json => tri_bodies_perfect_02.json} | 15 +++++++++++++++ ...erfect_03.json => tri_bodies_perfect_03.json} | 15 +++++++++++++++ sim_scenes/tri_bodies/tri_bodies_perfect.py | 11 +++++++---- sim_scenes/ursina_json_sim.py | 16 ++++++++++------ 5 files changed, 62 insertions(+), 10 deletions(-) rename data/{tri_bodies_sim_perfect_01.json => tri_bodies_perfect_01.json} (90%) rename data/{tri_bodies_sim_perfect_02.json => tri_bodies_perfect_02.json} (87%) rename data/{tri_bodies_sim_perfect_03.json => tri_bodies_perfect_03.json} (87%) diff --git a/data/tri_bodies_sim_perfect_01.json b/data/tri_bodies_perfect_01.json similarity index 90% rename from data/tri_bodies_sim_perfect_01.json rename to data/tri_bodies_perfect_01.json index 122d09d..7750c2b 100644 --- a/data/tri_bodies_sim_perfect_01.json +++ b/data/tri_bodies_perfect_01.json @@ -15,6 +15,11 @@ ], "density": 1408.0, "color": [ + 170, + 98, + 25 + ], + "trail_color": [ 255, 0, 0 @@ -39,6 +44,11 @@ ], "density": 1408.0, "color": [ + 170, + 98, + 25 + ], + "trail_color": [ 0, 255, 0 @@ -63,6 +73,11 @@ ], "density": 1408.0, "color": [ + 170, + 98, + 25 + ], + "trail_color": [ 0, 0, 255 diff --git a/data/tri_bodies_sim_perfect_02.json b/data/tri_bodies_perfect_02.json similarity index 87% rename from data/tri_bodies_sim_perfect_02.json rename to data/tri_bodies_perfect_02.json index b7b5ded..586b9ac 100644 --- a/data/tri_bodies_sim_perfect_02.json +++ b/data/tri_bodies_perfect_02.json @@ -15,6 +15,11 @@ ], "density": 1408.0, "color": [ + 170, + 98, + 25 + ], + "trail_color": [ 255, 0, 0 @@ -39,6 +44,11 @@ ], "density": 1408.0, "color": [ + 170, + 98, + 25 + ], + "trail_color": [ 0, 255, 0 @@ -63,6 +73,11 @@ ], "density": 1408.0, "color": [ + 170, + 98, + 25 + ], + "trail_color": [ 0, 0, 255 diff --git a/data/tri_bodies_sim_perfect_03.json b/data/tri_bodies_perfect_03.json similarity index 87% rename from data/tri_bodies_sim_perfect_03.json rename to data/tri_bodies_perfect_03.json index e7dfe55..c99e421 100644 --- a/data/tri_bodies_sim_perfect_03.json +++ b/data/tri_bodies_perfect_03.json @@ -15,6 +15,11 @@ ], "density": 1408.0, "color": [ + 170, + 98, + 25 + ], + "trail_color": [ 255, 0, 0 @@ -39,6 +44,11 @@ ], "density": 1408.0, "color": [ + 170, + 98, + 25 + ], + "trail_color": [ 0, 255, 0 @@ -63,6 +73,11 @@ ], "density": 1408.0, "color": [ + 170, + 98, + 25 + ], + "trail_color": [ 0, 0, 255 diff --git a/sim_scenes/tri_bodies/tri_bodies_perfect.py b/sim_scenes/tri_bodies/tri_bodies_perfect.py index 346729e..dc51147 100644 --- a/sim_scenes/tri_bodies/tri_bodies_perfect.py +++ b/sim_scenes/tri_bodies/tri_bodies_perfect.py @@ -22,11 +22,11 @@ if __name__ == '__main__': mass = 2e30 r = 2 * AU - # p = 12 # TODO: 三体转圆形花 - p = 14.88 # TODO: 三体转圈近似圆形 + p = 12 # TODO: 三体转圆形花 + # p = 14.88 # TODO: 三体转圈近似圆形 # p = 16 # TODO: 三体转圆形花 # p = 18 # TODO: 三体转圆形花 - # p = 19 # TODO: 三体转圆形花 + p = 19 # TODO: 三体转圆形花 bodies = [ Sun(name="红轨太阳A", mass=mass, init_position=[0, math.sqrt(3) * r, 0], @@ -53,4 +53,7 @@ if __name__ == '__main__': # 使用 ursina 查看的运行效果 # 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹 # position = 左-右+、上+下-、前+后- - ursina_run(bodies, SECONDS_PER_YEAR, position=(-2 * AU, AU, -5 * AU), show_trail=True) + ursina_run(bodies, SECONDS_PER_YEAR, + position=(-2 * AU, 1.5 * AU, -8 * AU), + # save_as_json="../../data/tri_bodies_perfect_05.json", # 保存 json 文件到 data 目录 + show_trail=True) diff --git a/sim_scenes/ursina_json_sim.py b/sim_scenes/ursina_json_sim.py index 1d36416..879099d 100644 --- a/sim_scenes/ursina_json_sim.py +++ b/sim_scenes/ursina_json_sim.py @@ -18,12 +18,16 @@ if __name__ == '__main__': # bodies, params = Body.build_bodies_from_json('../data/sun_earth.json') # TODO: 去掉注释,在地球上看月相演示变化过程演示 # bodies, params = Body.build_bodies_from_json('../data/sun_earth_moon.json') - # TODO: 去掉注释,完美数据的三体模型的演示01(等边三角形) - bodies, params = Body.build_bodies_from_json('../data/tri_bodies_sim_perfect_01.json') - # TODO: 去掉注释,完美数据的三体模型的演示02(等边三角形) - # bodies, params = Body.build_bodies_from_json('../data/tri_bodies_sim_perfect_02.json') - # TODO: 去掉注释,完美数据的三体模型的演示03(等边三角形) - # bodies, params = Body.build_bodies_from_json('../data/tri_bodies_sim_perfect_03.json') + # TODO: 去掉注释,完美数据的三体模型的演示01(画同心圆) + # bodies, params = Body.build_bodies_from_json('../data/tri_bodies_perfect_01.json') + # TODO: 去掉注释,完美数据的三体模型的演示02(画同心圆) + # bodies, params = Body.build_bodies_from_json('../data/tri_bodies_perfect_02.json') + # TODO: 去掉注释,完美数据的三体模型的演示03(画同心圆) + # bodies, params = Body.build_bodies_from_json('../data/tri_bodies_perfect_03.json') + # TODO: 去掉注释,完美数据的三体模型的演示04(画小花) + bodies, params = Body.build_bodies_from_json('../data/tri_bodies_perfect_04.json') + # TODO: 去掉注释,完美数据的三体模型的演示05(画大花) + # bodies, params = Body.build_bodies_from_json('../data/tri_bodies_perfect_05.json') # TODO: 去掉注释,引力弹弓的演示 # bodies, params = Body.build_bodies_from_json('../data/gravity_slingshot.json') -- GitLab