diff --git a/simulators/mpl/mpl_2d_simulator_arrow.py b/simulators/mpl/mpl_2d_simulator_arrow.py index 613386aa9cc97ffde73e4f0ae9ee14ca9747dfb1..54c1ce1f279f87c353f9286af01d83458a28ca6f 100644 --- a/simulators/mpl/mpl_2d_simulator_arrow.py +++ b/simulators/mpl/mpl_2d_simulator_arrow.py @@ -42,7 +42,7 @@ class 星球: """ if 大小 is None: # 大小 = np.sqrt(质量) / 1000 - 大小 = np.power(质量, 0.2) / 10 + 大小 = np.power(质量, 0.16) / 10 self.质量 = 质量 self.位置 = np.array(位置, dtype=float) self.速度 = np.array(速度, dtype=float) @@ -96,12 +96,12 @@ def 场景1(): 时间步长 = 0.01 # 创建星球列表 星球列表 = [ - 星球(质量=5e12, 位置=[0, 0], 速度=[0, 0.1], 颜色='red', 名称偏移=[1, 0]), - 星球(质量=5e10, 位置=[20, 0], 速度=[0, 2], 颜色='blue'), - 星球(质量=5e10, 位置=[-20, 0], 速度=[0, -2], 颜色='green') + 星球(质量=5e12, 位置=[0, 0], 速度=[0, 0.2], 颜色='red', 名称偏移=[1, 0]), + 星球(质量=5e11, 位置=[25, 0], 速度=[0, 2], 颜色='blue'), + 星球(质量=5e11, 位置=[-25, 0], 速度=[0, -2], 颜色='green') ] 坐标轴.set_xlim(-50, 50) - 坐标轴.set_ylim(-50, 50) + 坐标轴.set_ylim(-20, 80) def 场景2(): @@ -134,8 +134,8 @@ def 场景2(): 坐标轴.set_ylim(-10, 50) -# 场景1() -场景2() +场景1() +# 场景2() # 设置纵横比为固定值,使得 X、Y 刻度比例不变 坐标轴.set_aspect('equal') @@ -198,7 +198,7 @@ def 更新(帧): 轨迹列表[i].set_data(轨迹[:, 0], 轨迹[:, 1]) 偏移量_x, 偏移量_y = 0, 0 # 星球.名称偏移 星球.位置[0] + 偏移量_x + 0.5, 星球.位置[1] + 偏移量_y 名称列表[i].set_position((x - 0.8, y - 1)) - min_length, max_length = 4, 100 + min_length, max_length = 0, 100 # 更新速度箭头 速度线列表[i].remove() dx, dy = 星球.速度[0] * 速度线长率, 星球.速度[1] * 速度线长率 @@ -210,7 +210,7 @@ def 更新(帧): # 重新设置 dx,dy ,使得 (dx ** 2 + dy ** 2) ** 0.5 = 5 dx, dy = dx / distance * min_length, dy / distance * min_length - 速度线 = plt.arrow(x, y, dx, dy, width=0.05, head_width=1, color=星球.颜色) + 速度线 = plt.arrow(x, y, dx, dy, width=0.02, head_width=0.8, color=星球.颜色) 速度线列表[i] = 速度线 坐标轴.add_patch(速度线) @@ -225,7 +225,7 @@ def 更新(帧): # 重新设置 dx,dy ,使得 (dx ** 2 + dy ** 2) ** 0.5 = 5 dx, dy = dx / distance * min_length, dy / distance * min_length - 加速度线 = plt.arrow(x, y, dx, dy, width=0.05, head_width=1, color="black") + 加速度线 = plt.arrow(x, y, dx, dy, width=0.02, head_width=0.8, color="black") 加速度线列表[i] = 加速度线 坐标轴.add_patch(加速度线)