Поля, контуры и векторные поля

Когда величина зависит от двух координат, её рисуют цветом, изолиниями или стрелками.

Скалярное поле $f(x, y)$ показывают цветом (heatmap) или контурными линиями (изолинии — линии равного значения). Векторное поле (величина и направление в каждой точке) рисуют стрелками (quiver) или линиями тока (streamlines).

Скалярные поля: цвет или контуры

Поле — это функция двух координат: температура на карте, высота рельефа, давление, потенциал. Два способа показать. Цветовое поле (heatmap/pcolormesh) красит каждую точку по значению — даёт общую картину, но точные значения по цвету не прочитать. Контурные линии соединяют точки равного значения (как горизонтали на топокарте) — позволяют прочитать точное значение по подписанной изолинии и увидеть градиент по густоте линий: где линии гуще, там поле меняется круче.

Часто их совмещают: цветная заливка для общей картины плюс несколько подписанных контуров для точности. Это стандарт в метеорологии и физике.

Контурная карта «холма» f=высота:
   ___10___
  /        \        густые линии = крутой склон
 |  __20__  |       редкие линии = пологий
 | /  30  \ |
 ||  (40)  ||  <- вершина
 | \______/ |
  \__________/
  изолинии = линии равной высоты

Считаем поле и его градиент

Возьмём поле $f(x,y) = x^2 + y^2$ (параболоид) и посчитаем значения и приближённый градиент (направление и скорость роста) — основу для контуров и стрелок.

def f(x, y):
    return x*x + y*y

# значения на сетке 3x3
print("поле f = x^2 + y^2:")
for y in (-1, 0, 1):
    row = [f(x, y) for x in (-1, 0, 1)]
    print("  y=%2d:" % y, row)

# численный градиент в точке (1,1): (df/dx, df/dy)
h = 1e-5
x0, y0 = 1.0, 1.0
gx = (f(x0+h, y0) - f(x0-h, y0)) / (2*h)
gy = (f(x0, y0+h) - f(x0, y0-h)) / (2*h)
mag = (gx*gx + gy*gy) ** 0.5
print("градиент в (1,1):", (round(gx,2), round(gy,2)), "длина", round(mag,2))

Вывод:

поле f = x^2 + y^2:
  y=-1: [2, 1, 2]
  y= 0: [1, 0, 1]
  y= 1: [2, 1, 2]
градиент в (1,1): (2.0, 2.0) длина 2.83

Минимум поля в центре (0), значения растут к краям — изолинии будут концентрическими окружностями. Градиент в (1,1) направлен «наружу» (2, 2) — стрелка векторного поля смотрела бы от центра, и её длина 2,83 кодирует крутизну.

Векторные поля

Если в каждой точке задан вектор (скорость течения, электрическое поле, градиент), его рисуют стрелкой: направление = ориентация, величина = длина или цвет. Сетка стрелок — это quiver plot. Когда стрелок слишком много, их заменяют линиями тока (streamlines) — кривыми, касательными к полю, которые показывают, куда «потечёт» частица. Это прямая связь с физикой: линии тока жидкости, силовые линии поля.

Как работает под капотом

Контурные линии строятся алгоритмом marching squares: сетку обходят по клеткам и в каждой ищут, где функция пересекает заданный уровень, соединяя точки в линии. Густота изолиний обратно пропорциональна величине градиента: $\Delta f$ между соседними контурами постоянна, поэтому где поле круче (большой градиент), линии расположены ближе. Векторное поле и градиент скалярного поля связаны: градиент всегда перпендикулярен изолиниям и направлен в сторону роста.

Связь с физикой полей

Визуализация полей — это прямой язык физики. Скалярное поле и его градиент описывают потенциал и силу: линии равного потенциала (эквипотенциали) — это в точности контурные линии, а силовое поле перпендикулярно им и направлено в сторону убывания потенциала. Поэтому, глядя на контурную карту электрического или гравитационного потенциала, физик сразу «видит» силы: где изолинии гуще, там поле сильнее. Векторные диаграммы и линии тока показывают течения жидкости, магнитные силовые линии, поток тепла — всё, что имеет направление и величину в каждой точке.

Эта двойственность — «поле как цвет/контуры» и «поле как стрелки/линии тока» — отражает два взгляда на одну математику. Контуры удобны для скалярных величин (температура, давление, высота, потенциал), стрелки и streamlines — для векторных (скорость, поле). Часто их совмещают: цветом рисуют величину скорости, а линиями тока — её направление, получая полную картину течения на одном графике. Понимание этой связи делает чтение научных фигур в физике, метеорологии и гидродинамике почти интуитивным.

Частые ошибки

  • Только цвет без контуров, когда нужны точные значения — добавьте подписанные изолинии.
  • Радужная палитра на поле — ложные границы (см. урок про viridis).
  • Слишком частые стрелки — каша; прорежьте сетку или используйте streamlines.
  • Стрелки разной длины без шкалы — непонятно, что означает длина.

Итог

  • Скалярное поле: цвет (общая картина) + контуры (точные значения, градиент по густоте).
  • Векторное поле: стрелки (quiver) или линии тока (streamlines).
  • Градиент перпендикулярен изолиниям; густые линии = крутой склон.
  • Это прямой мост к физике: потенциалы, течения, силовые линии.
Проверьте себя
1. Что показывают контурные линии (изолинии) скалярного поля?
AСлучайные кривые
BЛинии равного значения; по их густоте видна крутизна градиента
CГраницы цветов
DОси координат
2. Чем заменяют quiver-стрелки, когда их слишком много?
AТочками
BЛиниями тока (streamlines), касательными к полю
CГистограммой
DКруговой диаграммой
3. Как связаны градиент скалярного поля и его изолинии?
AГрадиент параллелен изолиниям
BГрадиент перпендикулярен изолиниям и направлен в сторону роста поля
CОни не связаны
DГрадиент всегда равен нулю