Bz = 10.000
k = 1  #Por convenciencia


def norm(P1, P2):
    return np.sqrt((P2.X - P1.X)**2 + (P2.Y - P1.Y)**2 + (P2.Z - P1.Z)**2)


while (i < 10000):
    r21 = norm(P1, P2)
    x1.append(P1.X)
    y1.append(P1.Y)
    z1.append(P1.Z)
    x2.append(P2.X)
    y2.append(P2.Y)
    z2.append(P2.Z)

    fx1 = P1.Q * P1.VY * Bz + k * P1.Q * P2.Q * (P1.X - P2.X) / (r21**3)
    fx2 = P2.Q * P2.VY * Bz + k * P1.Q * P2.Q * (P2.X - P1.X) / (r21**3)
    fy1 = -1.0 * P1.Q * P1.VX * Bz + k * P1.Q * P2.Q * (P1.Y - P2.Y) / (r21**3)
    fy2 = -1.0 * P2.Q * P2.VX * Bz + k * P1.Q * P2.Q * (P2.Y - P1.Y) / (r21**3)

    P1.Time_evol(fx1, fy1, 0.0, 0.01)
    P2.Time_evol(fx2, fy2, 0.0, 0.01)
    #P2.time_slice_print()
    i += 1

plt.plot(x1, y1)
plt.plot(x2, y2)
plt.show()