Рассмотрим следующую задачу:Пусть есть металлическая равномерно заряженная и очень тонкая(высота пренебрежимо мала по сравнению с размерами) прямоугольная пластина размера 2a на 2b. Поверхностная плотность заряда σ>0. Требуется определить

электрическое поле E(x0,y0,z0), созданное этой пластиной в любой точке x0,y0,z0 трёхмерного евклидова пространства. А также рассмотреть случай пластины в форме эллипса.

Решение:Поместим начало O декартовой прямоугольной ортогональной системы координат с правой ориентацией базисных векторов(i, j, k ) XOYZ в центр пластины так, чтобы она располагалась в плоскости XOY.Сделаем схематичный рисунок:

Прямоугольная пластина
Прямоугольная пластина
Закон Кулона
Закон Кулона
Начало решения
Начало решения
Конец решения
Конец решения

Теперь напишем на Python код для визуализации полученного результата:

import numpy as np
import matplotlib.pyplot as plt
from matplotlib import cm
from mpl_toolkits.mplot3d import Axes3D

# Физические константы
eps0 = 8.85e-12  # электрическая постоянная
sigma = 1.0      # поверхностная плотность заряда
a = 2.0          # половина размера пластины по x
b = 3.0          # половина размера пластины по y

# Создаем сетку для визуализации
x = np.linspace(-2, 2, 20)
y = np.linspace(-2, 2, 20)
z = np.linspace(-2, 2, 20)
X, Y, Z = np.meshgrid(x, y, z)

# Функция для расчета электрического поля
def electric_field(x0, y0, z0):
    # Интегрирование по пластине
    Ex = 0
    Ey = 0
    Ez = 0
    
    for dx in np.linspace(-a, a, 20):
        for dy in np.linspace(-b, b, 20):
            r = np.array([x0-dx, y0-dy, z0])
            r_mag = np.linalg.norm(r)
            
            Ex += (x0-dx) / r_mag**3
            Ey += (y0-dy) / r_mag**3
            Ez += z0 / r_mag**3
            
    Ex *= sigma / (4 * np.pi * eps0)
    Ey *= sigma / (4 * np.pi * eps0)
    Ez *= sigma / (4 * np.pi * eps0)
    
    return Ex, Ey, Ez

# Расчет поля в каждой точке сетки
Ex, Ey, Ez = np.zeros_like(X), np.zeros_like(Y), np.zeros_like(Z)

for i in range(X.shape[0]):
    for j in range(X.shape[1]):
        for k in range(X.shape[2]):
            Ex[i,j,k], Ey[i,j,k], Ez[i,j,k] = electric_field(X[i,j,k], Y[i,j,k], Z[i,j,k])

# Визуализация
fig = plt.figure(figsize=(12, 10))
ax = fig.add_subplot(111, projection='3d')

# Нормализация векторов для лучшей визуализации
M = np.sqrt(Ex**2 + Ey**2 + Ez**2)
Ex = Ex/M
Ey = Ey/M
Ez = Ez/M

# Построение векторов поля
ax.quiver(X, Y, Z, Ex, Ey, Ez, length=0.1, normalize=True, pivot='middle', cmap=cm.viridis)

# Отображение пластины
ax.plot_surface(np.linspace(-a, a, 10), np.linspace(-b, b, 10), np.zeros((10,10)), 
                color='gray', alpha=0.5, zorder=10)

ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
ax.set_title('Электрическое поле равномерно заряженной пластины')
plt.show()

Результат работы программы можно увидеть здесь:

Электрическое поле прямоугольной пластины
Электрическое поле прямоугольной пластины

Если пластина имеет форму эллипса с большой и малой полуосями 2a и 2b соответственно, то перейдём в цилиндрическую систему координат.

Пусть орт i направлен по направлению к проекции точки на плоскость XOY,орт j

по часовой стрелке перпендикулярно i в плоскости XOY а орт k по положительному направлению оси OZ.В таком случае орты образуют правую тройку.Сделаем рисунок:

Эллиптическая пластина
Эллиптическая пластина
Интегрирование в цилиндрических координатах.
Интегрирование в цилиндрических координатах.
Для круглой пластины.
Для круглой пластины.

Напишем код на Python для компьютерной визуализации электрического поля круглой равномерно заряженной пластины:

import numpy as np
import matplotlib.pyplot as plt
from matplotlib import cm
from mpl_toolkits.mplot3d import Axes3D

# Физические константы
eps0 = 8.85e-12  # электрическая постоянная
sigma = 1.0  # поверхностная плотность заряда
R = 1.0  # радиус пластины

# Создаем сетку для визуализации
r = np.linspace(0, 2 * R, 20)
theta = np.linspace(0, 2 * np.pi, 40)
z = np.linspace(-2 * R, 2 * R, 20)
R_grid, Theta_grid, Z_grid = np.meshgrid(r, theta, z)
X = R_grid * np.cos(Theta_grid)
Y = R_grid * np.sin(Theta_grid)


# Функция для расчета электрического поля
def electric_field(x0, y0, z0):
    Ex = 0
    Ey = 0
    Ez = 0

    # Интегрирование по круглой пластине
    for rho in np.linspace(0, R, 20):
        for phi in np.linspace(0, 2 * np.pi, 20):
            x = rho * np.cos(phi)
            y = rho * np.sin(phi)

            # Вычисляем вектор от элемента к точке наблюдения
            dx = x0 - x
            dy = y0 - y
            dz = z0
            r_mag = np.sqrt(dx ** 2 + dy ** 2 + dz ** 2)

            # Добавляем вклад элементарного поля
            Ex += dx / r_mag ** 3
            Ey += dy / r_mag ** 3
            Ez += dz / r_mag ** 3

    # Умножаем на константы
    Ex *= sigma / (4 * np.pi * eps0)
    Ey *= sigma / (4 * np.pi * eps0)
    Ez *= sigma / (4 * np.pi * eps0)

    return Ex, Ey, Ez


# Расчет поля в каждой точке сетки
Ex = np.zeros_like(X)
Ey = np.zeros_like(Y)
Ez = np.zeros_like(Z_grid)

# Оптимизируем циклы
for i in range(X.shape[0]):
    for j in range(X.shape[1]):
        for k in range(X.shape[2]):
            if R_grid[i, j, k] <= R:  # проверяем, что точка внутри пластины
                Ex[i, j, k], Ey[i, j, k], Ez[i, j, k] = electric_field(X[i, j, k], Y[i, j, k], Z_grid[i, j, k])

# Визуализация
fig = plt.figure(figsize=(12, 10))
ax = fig.add_subplot(111, projection='3d')

# Нормализация векторов
M = np.sqrt(Ex ** 2 + Ey ** 2 + Ez ** 2)
Ex = Ex / M
Ey = Ey / M
Ez = Ez / M

# Отсекаем нулевые значения для лучшей визуализации
mask = M > 1e-6

# Построение векторов поля
ax.quiver(X[mask], Y[mask], Z_grid[mask], Ex[mask], Ey[mask], Ez[mask],
          length=0.1, normalize=True, pivot='middle', cmap=cm.viridis)

# Отображение пластины
theta_plate = np.linspace(0, 2 * np.pi, 100)
r_plate = np.linspace(0, R, 100)
R_plate, Theta_plate = np.meshgrid(r_plate, theta_plate)
X_plate = R_plate * np.cos(Theta_plate)
Y_plate = R_plate * np.sin(Theta_plate)
ax.plot_surface(X_plate, Y_plate, np.zeros_like(X_plate),
                color='gray', alpha=0.5, zorder=10)

# Продолжаем визуализацию

ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
ax.set_title('Электрическое поле круглой равномерно заряженной пластины')

# Устанавливаем равные масштабы по осям
ax.set_box_aspect([1,1,1])

# Добавляем сетку
ax.grid(True)

# Настройка пределов отображения
ax.set_xlim([-2*R, 2*R])
ax.set_ylim([-2*R, 2*R])
ax.set_zlim([-2*R, 2*R])

# Улучшаем качество отображения
plt.tight_layout()
plt.gca().patch.set_facecolor('white')  # Белый фон

# Добавляем легенду
ax.text(-2*R, -2*R, 2*R,
        'Параметры:\n'
        f'Радиус пластины: {R} м\n'
        f'Плотность заряда: {sigma} Кл/м²\n'
        f'Электрическая постоянная: {eps0} Ф/м',
        fontsize=10, color='black')

# Сохраняем изображение
plt.savefig('electric_field_visualization.png', dpi=300)

# Показываем график
plt.show()

Результат работы программы:

Электрическое поле круглой пластины
Электрическое поле круглой пластины

Таким образом, в данной работе получены аналитические формулы для расчёта электрического поля равномерно заряженных металлических пластин в случаях, когда они имеют прямоугольную, круглую и эллиптическую форму путём непосредственного интегрирования по их площади, а также проведён анализ полученных зависимостей. Для компьютерной визуализации в 3d был написан код на языке Python и нарисованы стрелки, показывающие распределение поля в пространстве для прямоугольной и круглой пластин.

Решена очень важная прямая задача электростатики.

Список литературы:

1.https://www.geeksforgeeks.org/python/simulating‑electrostatic‑fields‑in-2-dimensions‑using‑python3/

2.https://problemsolvingwithpython.com/06-Plotting‑with‑Matplotlib/06.15-Quiver‑and‑Stream‑Plots/

3.https://www.tspi.at/2021/11/27/pythonsimpleelectricfielddisplay2d.html

4.https://physics.stackexchange.com/questions/176747/electric‑field‑due‑to‑a-uniformly‑charged‑finite‑rectangular‑plate

5.Griffiths D. J. “Introduction to Electrodynamics”

6.Сивухин Д. В. «Общий курс физики. Том III. Электричество»

7.Матвеев А.Н. «Электричество и магнетизм»

8.Иродов И.Е. «Электромагнетизм. Основные законы»

9.Усачёв А.Е. «Методы расчета электрических полей»

10.Подлесный Д.В. «Расчёт электростатических полей методом изображений»

11.Исаев Ю. Н., Кулешова Е. В., Русол Д. А. «Метод расчёта распределения зарядов сплошных пластин и пластин с отверстием в форме круга и форме сферических сегментов при наличии внешнего электростатического поля»

12.Исаев Ю. Н. «Расчёт распределения индуцированного заряда круглой проводящей пластины во внешнем электростатическом поле»

13.https://dragly.org/projects/htmlfieldlines/

14.https://www.geogebra.org/m/qgQF6NtC

15.https://phet.colorado.edu/en/simulations/charges‑and‑fields