Primer parcial: Visualizacion del campo de una carga puntual
Primer parcial: visualizacion del potencial
segundo parcial: animacion de una caida libre
segundo parcial: carga en movimiento
/home/jmanza/Dropbox/2026/enero_2026/fenomenos_electromagneticos/a4.ipynb/home/jmanza/Dropbox/2026/enero_2026/fenomenos_electromagneticos/a4.ipynb
electrostatica-1http://manza.space/wp-content/uploads/2026/01/electrostatica-1.pdf
import matplotlib.pyplot as plt
# Punto donde se evalua el campo
x, y = 3, 4
# Flecha que representa la direccion del campo electrico
plt.arrow(0, 0, x, y,
head_width=0.2,
head_length=0.3,
length_includes_head=True,
color='red')
# Punto de observacion
plt.scatter(x, y, color='b')
# Ejes cartesianos
plt.plot([-5, 5], [0, 0], color='black')
plt.plot([0, 0], [-5, 5], color='black')
plt.xlim(-5, 5)
plt.ylim(-5, 5)
plt.grid()
plt.gca().set_aspect('equal', adjustable='box')
plt.title("Campo electrico de una carga puntual en el origen")
plt.show()
import matplotlib.pyplot as plt
xq, yq = -1, 1
x, y = 3, 4
dx = x - xq
dy = y - yq
plt.arrow(xq, yq, dx, dy,
head_width=0.2,
head_length=0.3,
length_includes_head=True)
plt.scatter(x, y, label="Punto de observacion")
plt.scatter(xq, yq, s=60, label="Carga q")
plt.plot([-5, 5], [0, 0])
plt.plot([0, 0], [-5, 5])
plt.xlim(-5, 5)
plt.ylim(-5, 5)
plt.grid()
plt.gca().set_aspect('equal', adjustable='box')
plt.legend()
plt.title("Campo electrico de una carga puntual fuera del origen")
#plt.savefig("campo_carga_fuera_origen.png", dpi=300)
plt.show()
import numpy as np
import matplotlib.pyplot as plt
# ----------------------------
# Constantes
# ----------------------------
k = 8.99e9
q = 1.0
# ----------------------------
# Geometria: cargas
# ----------------------------
cargas = np.array([
[ 0.5, 0.5],
[-0.5, 0.5],
[-0.5, -0.5],
[ 0.5, -0.5]
])
# ----------------------------
# Punto de observacion
# ----------------------------
x_obs, y_obs = 0.0, 2.0
r_obs = np.array([x_obs, y_obs])
# ----------------------------
# Campo electrico total
# ----------------------------
E_total = np.array([0.0, 0.0])
for r_q in cargas:
r = r_obs - r_q
r_norm = np.linalg.norm(r)
E_total += k * q * r / r_norm**3
# Normalizar el campo
E_mag = np.linalg.norm(E_total)
E_hat = E_total / E_mag
print("Campo electrico total (N/C):", E_total)
print("Direccion normalizada:", E_hat)
# ----------------------------
# Grafica
# ----------------------------
plt.figure(figsize=(6,6))
# Cargas
plt.scatter(cargas[:,0], cargas[:,1],
color='red', s=120, label='Cargas +q')
# Punto de observacion
plt.scatter(x_obs, y_obs,
color='blue', s=80, label='Punto de observacion')
# Vector campo electrico con quiver (UNA SOLA FLECHA)
plt.quiver(
x_obs, y_obs,
E_hat[0], E_hat[1],
angles='xy',
scale_units='xy',
scale=1,
color='green',
width=0.015,
label='Direccion del campo'
)
# Cuadrado
square_x = [0.5, -0.5, -0.5, 0.5, 0.5]
square_y = [0.5, 0.5, -0.5, -0.5, 0.5]
plt.plot(square_x, square_y, linestyle='--', color='gray')
# Ejes
plt.plot([-2.5, 2.5], [0, 0], color='black')
plt.plot([0, 0], [-1.5, 2.5], color='black')
plt.xlim(-2.5, 2.5)
plt.ylim(-2.5, 4.5)
plt.grid()
plt.legend()
plt.title("Direccion del campo electrico en el punto (0,2)")
#plt.savefig("4cargas.png", dpi=300)
#plt.close()
plt.show()