потенциальное поле его потенциал
Потенциальность электростатического поля
Потенциальное (консервативное) поле − это поле, в котором работа при перемещении зависит только лишь от конечной и начальной точки пути и не зависит от траектории движения тела.
Что такое потенциальное поле
Есть и другое абсолютно равнозначное определение потенциальности поля (консервативной силы).
Известно, что сила гравитации F G
На основе принципа суперпозиции из потенциальности поля точечного заряда следует потенциальность произвольного электростатического поля.
Легко докажем это математически. Циркуляция вектора напряженности поля точечного заряда E i → по любому замкнутому контуру равняется 0 :
Если поле создает N точечных зарядов, тогда по принципу суперпозиции результирующее поле находим как:
Что такое ротор. Практические задачи
Ротор − это вектор, проекция которого на направление единичного вектора n → определяется таким образом:
Обращаем внимание, что в формуле большой буквой S обозначена площадь, а маленькой буквой s − линейное перемещение.
Ротор описывает интенсивность «завихрения» вектора. На практике при вычислении ротора применяют следующие формулы:
Независимость работы от пути перемещения заряда в электростатическом поле выражается формулой:
где L 1 и L 2 − это различные пути между точками А и В . При замене местами пределов интегрирования получаем:
Выражение ∫ A L 1 B E → · d s → = ∫ A L 2 B E → · d s → представим в виде:
к уравнению выше, получаем:
Это дифференциальная формулировка потенциальности электростатического поля.
Необходимо найти r o t n υ → для точек оси вращения, если υ → − это вектор скорости точек твердого тела, вращающегося с угловой скоростью ω вокруг оси коллинеарной n →
Решение
В качестве контура L выберем окружность радиусом R с центром на оси вращения, перпендикулярную оси (рисунок 1 ). Известно, что:
где ∮ d s = 2 π R − это длина окружности.
Необходимо доказать, что из условия потенциальности поля следует: тангенциальные составляющие напряженности электростатического поля непрерывны.
Решение
Поскольку электростатическое поле потенциально, тогда выполняется равенство:
Тангенциальные составляющие − это касательные к произвольной поверхности в любой ее точке. Непрерывность значит, что значения касательных составляющих напряженности одинаковы по обеим сторонам поверхности.
Использование потенциальных полей в сценарии стратегии реального времени
Реализация поведения юнитов в RTS играх может стать серьезной проблемой. Компьютер, зачастую, контролирует огромное количество юнитов, в том числе и принадлежащих игроку, которые должны передвигаться в большом динамическом мире, попутно избегая столкновения друг с другом, выискивая врагов, защищая собственные базы и координируя атаки для истребления противника. Стратегии реального времени работают в реальном времени, что делает довольно сложным слежение за планированием действий и навигацией.
Этот урок описывает метод планирования течения игры и навигации юнитов, который использует многоагентные потенциальные поля. Он основан на работах под номерами [1, 2, 3]. (Смотри в конце статьи ссылки на используемые материалы)
Что такое потенциальное поле?
Потенциальные поля работают схожим образом — на интересующую позицию в игровом мире кладётся заряд и генерирует поле, которое постепенно сходит на ноль. Заряд может быть притягивающим (положительным) или отталкивающим (отрицательным). Обратите внимание, что в некоторой литературе о потенциальных полях отрицательные заряды притягивающие и наоборот. В этом уроке положительные заряды всегда прятивающие. Рисунок ниже показывает простой игровой мир с некоторой непроходимой территорией (коричневая), вражеского юнита (зелёный) и пункт назначения юнита (Е). Притягивающий заряд расположен в точке назначения.
Заряд генерирует поле, которое распространяется по игровому миру:
И затухает до нуля:
Навигация с помощью ПП
На иллюстрации выше притягивающее поле распространилось вокрут точки назначения «Е». Смысл в том, чтобы позволить зелёному юниту двигаться к позициям с наиболее притягиваемыми значениями и в конце концов найти путь к точке назначения. Чтобы заставить это работать нам также надо разобраться с препятсвиями в игровом мире, в данном случае с горами (коричныевые зоны). Если мы заставим горы генерировать небольшие отталкивающие поля и сложим их с притягивающими полями (с рисунка выше), мы получим результирующее поле, которое может быть использовано для навигации. Так как юниты всегда передвигаются на соседнюю позицию с максимально притягивающим значением, мы обойдем горы, если есть другой путь.
Та же идея используются и для других препятствий. На картинке ниже добавилось еще два своих юнита (белые). Они генерируют небольшие отталкивающие поля, которые снова суммируются с результирующим полем.
Таким образом наш зелёный юнит обойдет эти юниты, чтобы избежать столкновения. Теперь мы получили финальный путь для нашего юнита. Юнит может двигаться из текущей позиции к точке назначения и обойдет все препятствия без использования какого-либо алгоритма поиска пути.
Преимущества использования ПП
Одно из самых главных преимуществ использования потенциальных полей — возможность обрабатывать динамические игровые миры. Так как юниты (агенты) двигаются только по одному шагу за расчёт, вместо генерации полного пути из А в Б, то нет риска, что путь станет недоступен из-за изменений в игровом мире. Поиск пути в динамическом мире может часто быть сложным для реализации и требовать большое количество ресурсов для расчёта. Когда используется подход на основе потенциальных полей, решение проблемы приходит само, автоматически. Конечно нужно быть аккуратным при реализации системы ПП, чтобы не забывать делать обновления потенциальных полей эффективными насколько это возможно. (Об этом чуть позже).
Другое важное приемущество это возможность создавать сложное поведение, просто играясь с настройками формы генерируемых полей. Вместо линейного затухания до нуля мы можем использовать нелинейные поля. Если у нас, например, есть стреляющие юниты вроде танков в нашей армии, мы не хотим чтобы танки предвигались слишком близко к вражеским юнитам, но окружали их на нужной дистанции (например, на расстоянии дальности их стрельбы). Это поведение может быть достигнуто помещением нулевого заряда в точке нахождения вражеского юнита, генерирующего увеличивающеся поле с наиболее притягиваемой точкой на дальности стрельбы, а затем угасающее до нуля. Картинка снизу показывает пример с двумя танками (зелёные), движущимися в атаку на вражеского юнита (красный), генерирующему нелинейное ПП.
Пример уравнения, как такое поле может быть сгенерировано:
Здесь W1 — значение для изменения относительной силы поля. D — максимальная дальность стрельбы и R — максимальная дальность обнаружения (откуда наш агент видит вражеского агента)
Другое поведение, которое легко реализовать это «пнул-убежал». Сперва юнит подходит на максимальное расстояние атаки.
Во время фазы отступления все вражеские юниты генерируют сильное отталкивающее поле с радиусом максимальной дальности стрельбы юнита. Это пример того, как специфичные потенциальные поля могут быть активными или неактивными в зависимости от внутреннего состояния агента, контроллирующего данного юнита. Неактивное поле просто игнорируется, когда суммируется результирующее потенциальное поле.
Картинка ниже — скриншот нашего бота, основанного на ПП для ORTS engine. Левая сторона изображения это 2D вид текущего состояния игры. Оно показывает наши танки (зеленые круги), идущие атаковать вражеские базы (красные квадраты) и юниты (красные круги). Коричневые и черные зоны — непроходимая территория (горы). С правой стороны изображения показано потенциальное поле этого состояния игры. Как и на других картинках из этого урока, голубые зоны наиболее притягивающие. Светлые линии — атаки наших танков. ПП-представление четко показывает как наши юниты окружают врага на максимальной дистанции выстрела, в то же время избегая столкновений друг с другом и местностью. Поведение окружения врага работает отлично и было, возможно, одним из ключевых в нашем успехе 2008го года на ORTS tournament.
Пока мы разрабатывали нашего бота для ORTS, мы обнаружили одну вещь — совершенно иное поведение, когда суммирование потенциалов вражеских юнитов, сгенерированных в каждой точке сравнивалось с просто наиболее высоким потенциалом вражеского юнита в этой точке. На рисунке ниже потенциалы, сгенерированные тремя вражескими юнитами просуммированы и добавлены к результирующему полю. Таким образом наибольший потенциал оказывается прямо в центре вражеского кластера юнитов (обведено красным) и наши юниты очень стремились атаковать врагов в их самых сильных точках.
Решение было не суммировать потенциалы, но вместо этого брать наибольший потенциал в точке от всех юнитов. В последнем случае наиболее высокий потенциал вокруг врагов на допустимом расстоянии (показан красными линиями).
Заметки о реализации
С хорошим планом и реализацией ПП системы, затраты ресурсов на рассчёт не превысят традиционных решений на основе алгоритма А*. Наш ORTS бот использовал наименьшее количество ресурсов ЦП в сравнении с двумя другими ботами, работающими на алгоритмах поиска пути, с турнира 2007-го года. Однако, мы отметим, что сложно точно посчитать использование ЦП, из-за того, что побеждающий бот использует больше ресурсов в конце игры, так как у него остаётся больше юнитов под контролем. Многопоточность также усложняет задачу подсчета требуемых ресурсов ЦП. Сравнение было проведено путём сравнивания общего количества ресурсов ЦП, использованных каждым клиентским процессом в среде Линукса в течение 100 игр. По крайней мере мы можем сделать вывод, что бот был хорош в рамках выделенного времени в 0.125 сек, используемому в ORTS.
Мы эксперементировали с двумя основными архитектурами для генерации ПП…
Пре-генерация
Поле, генерируемое каждым типом объекта было заранее рассчитано и хранилось в статических массивах в заголовочном файле. Во время выполнения программы эти поля просто добавлялись к общему ПП на нужной позиции. Чтобы сделать это возмоным игровой мир был поделен на тайлы, в нашем случае каждый тайл состоял из 8х8 точек игрового мира. Этот подход показал недостаточную детализацию и бот выступил плохо (2007 год турнира ORTS). Так как игровой мир был поделен на значительно большие тайлы, мы сталкивались с проблемами решения того, какой тайл (какие тайлы) объект занимает. Предположим объект (оранжевый круг) и база (оранжевый квадрат). Какие тайлы (серые квадраты) занимает наш зеленый юнит и какие тайлы должна занимать база?
Этот подход может подойти для игр типа Wargus, которые используют менее детализированную тайловую навигационную систему.
Вычисления в реальном времени
А что с проблемой локального оптимума?
Одна из наиболее обычных проблем с ПП это проблема локального оптимума. На картинке снизу пример когда это проблема появляется. Пункт назначения «Е» генерирует круговое поле, которое блокируется горой. Юнит двигается к позициям с наиболее высокими потенциалами и заканчивает на самом большом, где он в данный момент и стоит. Юнит застрял.
Мы решили это использованием следа, схожего со следом феромонов, описанном в [4]. Каждый агент, контроллирующий юнит, добавляет след в последних N позициях, посещенных юнитом, а также в текущую позицию юнита. След генерирует легкий отталкивающий потенциал и «толкает» юнит вперёд. Смотрите как след толкает юнита вокруг локального оптимума (желтая линия) и юнит может найти путь к точке назначения.
Но даже со следами остаётся риск, что юнит застрянет в ситуациях, подобных той, что на картинке ниже.
Такое можно решить путём заполнения пустот:
Заключение
Ниже мы составили критику против решений, основанных на ПП с нашей точки зрения:
У ПП есть проблемы вроде локального оптимума, которые сложно решить. С использованием следа большинство локальных оптимумов могут быть решены. У ПП проблемы на очень сложной местности, в этих случаях себя лучше показывают методы поиска пути. Сила ПП в обработки больших динамичных миров с большими открытыми пространствами и наименее сложной местностью. Это случай для многих RTS-игр сегодняшних дней.
Решений на базе ПП требуют много ресурсов. Мы в своей работе показали, что решения на базе ПП могут быть реализованы с такой же или даже лучшей эффективностью как и методы поиска пути. Эффективность может быть проблемой, но в этих случаях чаще подходят случаи поиска пути.
Основанные на ПП решения сложны для реализации и настройки. ПП могут быть реализованы с очень простой архитектурой. Настройка может быть сложной и времязатратной, но относительная важность между полями была бы тут кстати (например что важнее уничтожить базу или юнитов?). Графическое представление ПП тоже очень ценно.
Ссылки
Using Multi-agent Potential Fields in Real-time Strategy Games
Johan Hagelbäck and Stefan J. Johansson
International Conference on Autonomous Agents and Multi-agent Systems (AAMAS), 2008.
1. Скачать PDF
The Rise of Potential Fields in Real Time Strategy Bots
Johan Hagelbäck and Stefan J. Johansson.
Proceedings of Artificial Intelligence and Interactive Digital Entertainment (AIIDE), 2008.
2. Скачать PDF
A Multiagent Potential Field-Based Bot for Real-Time Strategy Games
Johan Hagelbäck and Stefan J. Johansson
International Journal of Computer Games Technology, 2009.
3. Скачать PDF
Learning Human-like Movement Behavior for Computer Games
C. Thurau, C. Bauckhage, and G. Sagerer
International Conference on the Simulation of Adaptive Behavior (SAB), 2004.
4. Скачать PDF
Потенциальное векторное поле
Из Википедии — свободной энциклопедии
Потенциальное (или безвихревое) векторное поле в математике — векторное поле, которое можно представить как градиент некоторой скалярной функции координат. Необходимым условием потенциальности векторного поля в трёхмерном пространстве является равенство нулю ротора поля. Однако это условие не является достаточным — если рассматриваемая область пространства не является односвязной, то скалярный потенциал может быть многозначной функцией.
В физике, имеющей дело с силовыми полями, математическое условие потенциальности силового поля можно представить как требование равенства нулю работы при мгновенном перемещении частицы, на которую действует поле, по замкнутому контуру. Этот контур не обязан быть траекторией частицы, движущейся под действием только данных сил. В качестве потенциала поля в этом случае можно выбрать работу по мгновенному перемещению пробной частицы из некоторой произвольно выбранной исходной точки в заданную точку (по определению эта работа не зависит от пути перемещения). Например, потенциальными являются статическое электрическое поле, а также гравитационное поле в ньютоновой теории гравитации.
В некоторых источниках потенциальным полем сил считается только поле с потенциалом, не зависящим от времени. Это связано с тем, что потенциал для сил, зависящий от времени, вообще говоря, не является потенциальной энергией тела, движущегося под действием этих сил. Поскольку силы совершают работу не одномоментно, работа сил над телом будет зависеть от его траектории и от скорости прохождения по ней. В этих условиях сама потенциальная энергия не определена, так как по определению должна зависеть только от положения тела, но не от пути. Тем не менее, и для этого случая потенциал для сил может существовать, и может входить в уравнения движения так же, как и потенциальная энергия для тех случаев, когда она существует.
Для поля сил и потенциала сил эта же формула записывается как
∫ P v → ⋅ d r → = ϕ ( B ) − ϕ ( A ) <\displaystyle \int _
<\vec ,
Интеграл по замкнутому контуру обращается в 0, поскольку начальная и конечная точка совпадают. И наоборот, предыдущую формулу можно вывести из этой, если разбить замкнутый контур на два незамкнутых.
На языке дифференциальных форм потенциальное поле — это точная 1-форма — то есть форма, которая является (внешним) дифференциалом 0-формы (функции). Градиенту соответствует взятие внешнего дифференциала от 0-формы (потенциала), ротору соответствует взятие внешнего дифференциала от 1-формы (поля). Необходимое условие следует из того, что второй внешний дифференциал всегда равен нулю: d 2 = 0 <\displaystyle d^<2>=0> . Интегральные формулы следуют из (обобщённой) теоремы Стокса.
Теория поля
Известная также, как векторный анализ. А кому-то векторный анализ, известный как теория поля =) Наконец-то мы добрались до этой интереснейшей темы! Данный раздел высшей математики язык не поворачивается назвать простым, однако ж, в грядущих статьях я постараюсь достигнуть двух целей:
а) чтобы все понимали, о чём вообще идёт разговор;
б) и чтобы «чайники» научились решать, как минимум, простые вещи – хотя бы на уровне заданий, которые предлагаются студентам-заочникам.
Весь материал будет изложен в популярном стиле, и если вам нужна более строгая и полная информация, то можно взять, например, 3-й том Фихтенгольца или заглянуть в Вики.
И сразу расшифруем заголовок. С теорией, думаю, всё понятно – в лучших традициях сайта мы разберём её основы и сделаем основной упор на практику. Ну а с чем у вас ассоциируется слово «поле»?
Поле с травой, футбольное поле…. Ещё? Поле деятельности, поле экспериментов. Приветствую гуманитариев! …Из школьного курса? Электрическое поле, магнитное, электромагнитное…, так, хорошо. Гравитационное поле Земли, в котором мы находимся. Отлично! Так, кто это там сказал о поле действительных и комплексных чисел? …совсем какие-то монстры здесь собрались! =) Благо, алгебра уже пройдена.
На ближайших уроках мы познакомимся со специфическим понятием поля, конкретными примерами из жизни, а также научимся решать тематические задачи векторного анализа. Теорию поля лучше всего изучать, как вы правильно догадываетесь, на поле – природе, где есть лес, речка, озеро, деревенский домик, и я приглашаю всех погрузиться если и не в тёплую летнюю реальность, то в приятные воспоминания:
ПолЯ в рассматриваемом сегодня смысле бывают скалярные и векторные, и начнём мы с их «кирпичиков».
Во-первых, скаляр. Довольно-таки часто этот термин ошибочно отождествляют с числом. Нет, всё обстоит немного не так: скаляр – это величина, каждое значение которой может быть выражено лишь одним числом. В физике примеров масса: длина, ширина, площадь, объём, плотность, температура и др. Всё это скалярные величины. И, кстати, масса – тоже пример.
Во-вторых, вектор. Алгебраического определения вектора я коснулся на уроке о линейных преобразованиях и одну из его частных ипостасей не знать просто невозможно =) Типичный вектор выражается двумя или бОльшим количеством чисел (своими координатами). И даже для одномерного вектора лишь одного числа не достаточно – по той причине, что у вектора есть ещё направление. И точка приложения, если вектор не свободен. Векторами характеризуют силовые физические поля, скорость и многие другие величины.
Ну что же, теперь можно приступить к сбору алюминиевых огурцов урожая:
Скалярное поле
Если каждой точке некоторой области пространства поставлено в соответствие определённое число
(чаще действительное), то говорят, что в этой области задано скалярное поле.
Рассмотрим, например, исходящий из земли перпендикулярный луч. Воткните для наглядности лопату =) Какие скалярные поля можно задать на этом луче? Первое, что напрашивается – это поле высоты – когда каждой точке луча поставлена в соответствие её высота над уровнем земли. Или, например, поле атмосферного давления – здесь каждой точке луча соответствует числовое значение атмосферного давления в данной точке.
Теперь подойдём к озеру и мысленно проведём над его поверхностью плоскость. Если каждой точке «водного» фрагмента плоскости поставить в соответствие глубину озера, то, пожалуйста – скалярное поле задано. В этих же точках можно рассмотреть и другие скалярные величины, например, температуру поверхности воды.
Важнейшим свойством скалярного поля является его инвариантность относительно системы координат. Если перевести на человеческий язык, то с какой бы стороны мы на лопату / озеро ни посмотрели – скалярное поле (высота, глубина, температура и т.д.) от этого не изменятся. Более того, скалярное поле, скажем, глубины можно ведь задать и на другой поверхности, например, на подходящей полусфере, или непосредственно на самой водной поверхности. А почему нет? Разве нельзя каждой точке полусферы, расположенной над озером, поставить в соответствие число? Плоскость я предложил исключительно ради удобства.
Добавим ещё одну координату. Возьмите в руку камень. Каждой точке этого камня можно поставить в соответствие его физическую плотность. И опять – в какой бы системе координат мы его ни рассмотрели, как бы ни крутили в руке – скалярное поле плотности останется неизменным. Впрочем, некоторые люди могут оспорить этот факт =) Такой вот философский камень.
С чисто математической точки зрения (вне физического или другого частного смысла) скалярные поля традиционно задают нашими «обычным» функциями одной , двух
, трёх
и бОльшего количества переменных. При этом в теории поля в широком ходу традиционные атрибуты этих функций, такие как, область определения, линии и поверхности уровня.
Так, линии уровня глубины озера представляют собой замкнутые непересекающиеся линии на плоскости. Каждая из этих линий соответствует определённому значению глубины, и по соответствующей «плоской» карте мы можем судить о рельефе дна – где мелководье, где «обрывы» и т.д.
Поверхности уровня представляют собой непересекающиеся пространственные поверхности, «вложенные» друг в друга. Или «лежащие» друг на друге. Или… у кого на что фантазии хватит =) Каждой такой поверхности соответствует постоянное значение скалярного поля, например, какая-то конкретная температура.
Однако наши «обычные» числа и функции задают скалярные поля далеко не всегда! Приведу классический пример с вектором – для определённости рассмотрим геометрический вектор плоскости в некоторой аффинной системе координат. Что произойдёт, если перейти к новому базису? В общем случае данный вектор поменяет координаты:
.
Координаты вектора – это числа? Числа. Но скалярными величинами они не являются! Поскольку скаляры не зависят от системы координат. Более того, координаты векторов можно ведь задать и «обычными» функциями – и эти функции не будут порождать скалярное поле!
Надо сказать, ловким получился переход к следующему параграфу:
Векторное поле
Если каждой точке некоторой области пространства поставлен в соответствие вектор с началом в данной точке, то говорят, что в этой области задано векторное поле.
Из чего следует, что элементы векторного поля не свободны, то есть «привязаны» к точкам. И почему векторы в «неволе» – становится ясно из простых примеров. В частности, на уроке о криволинейных интегралах по замкнутому контуру мы провели «плоский» опыт с магнитом на столе: чем ближе к магниту поднести железку, тем сильнее она притягивается. И эта сила в той или иной точке поверхности стола как раз характеризуется вектором напряжённости магнитного поля. Чем сильнее притяжение, тем длиннее вектор, ну и его остриё, понятно, указывает направление действия силы.
Но гораздо чаще векторные поля рассматривают в трёхмерном пространстве, пожалуйста: наша Земля – тот же больший магнит. Другой пример – её гравитационное поле. Чем дальше от поверхности, тем меньше сила тяжести и тем короче соответствующие силовые векторы. Кстати, куда они «смотрят»? Говоря просто, все они направлены к центру нашей планеты.
Большую группу векторных полей образуют так называемые поля скоростей. Посмотрите на поле (которое с травкой) и мысленно очертите над ним произвольную пространственную область. Представьте, что над полем дует ветер – небольшой такой ураганчик для пущей наглядности. Теперь зафиксируем некоторый момент времени и каждой точке построенной области поставим в соответствие несвободный вектор, который характеризует:
а) направление движения воздуха в данной точке;
б) и скорость его движения в данной точке – чем выше скорость, тем длиннее вектор. Если в какой-то точке штиль, то ей сопоставляется нулевой вектор.
Множество этих векторов и образует векторное поле скорости ветра в данный момент времени.
Аналогично устроено поле скоростей течения жидкости – так, например, каждой точке реки в некоторый момент времени можно поставить в соответствие вектор, указывающий направление и скорость течения жидкости в этой точке.
Да чего там ветер и река, поле скорости можно смоделировать собственноручно, для этого достаточно взмахнуть рукой. Или даже моргнуть глазом.
…Какой же кошмар! – векторы вокруг нас! В «ужастиках» эту роль играют зомби или живые мертвецы, а в реальности-то вот оно, оказывается как – ВЕКТОРЫ.
С формально-математической точки зрения, векторные поля задают векторными функциями, которые уже «проскакивали» в других темах:
Для «плоского» случая – это векторная функция , которая различным точкам
плоскости
* ставит в соответствие несвободные векторы
– конкретный пример есть в параграфе Работа векторного поля. Если функции двух переменных
определены при любых «икс», «игрек», то векторное поле будет задано на всей плоскости
.
* Далее по умолчанию считаем, что все дела происходят в декартовой системе координат
С трёхмерным пространством всё аналогично:
– здесь каждой допустимой точке
пространства ставится в соответствие вектор
с началом в данной точке. «Допустимость» определяется областями определения функций
, и если каждая из них определена при всех «икс», «игрек», «зет», то векторное поле будет задано во всём пространстве.
! Обозначения: векторные поля также обозначают буквой либо
, а их компоненты через
либо
соответственно.
Из вышесказанного давно и очевидно следует, что, по меньшей мере математически, скалярные и векторные поля можно определить и во всём пространстве. Однако с соответствующими физическими примерами я всё же поостерёгся, поскольку таких понятий, как температура, гравитация (или других) ведь где-то может и вовсе не существовать. Но это уже не ужасы, а научная фантастика =) И не только фантастика. Ибо внутри камней ветер, как правило, не дует.
Следует отметить, что векторные поля (те же поля скоростей) с течением времени могут меняться, и поэтому во многих физических моделях рассматривают дополнительную независимую переменную . Кстати, то же самое касается и скалярных полей – температура же, в самом деле, тоже не «застыла» во времени.
Однако в рамках математики мы ограничимся троицей , и при «встрече» таких полей будем подразумевать некоторый фиксированный момент времени либо время, за которое поле не успело измениться.
Векторные линии
Если скалярные поля описываются линиями и поверхностями уровня, то «форму» векторного поля можно охарактеризовать векторными линиями. Наверное, многие помнят этот школьный опыт: под лист бумаги помещаются магнит, а наверх (смотрим!) высыпаются железные опилки, которые как раз и «выстраиваются» по линиям поля.
Постараюсь сформулировать попроще: каждая точка векторной линии является началом вектора поля, который лежит на касательной в данной точке:
Разумеется, векторы линии в общем случае имеют разную длину, так на приведённом рисунке, при перемещении слева направо их длина растёт – здесь можно предположить, что мы приближаемся, например, к магниту. В силовых физических полях векторные линии так и называют – силовыми линиями. Другой, более простой пример – это гравитационное поле Земли: его силовые линии представляют собой лучи с началом в центре планеты, причём векторы силы тяжести расположены прямо на самих лучах.
Векторные линии скоростных полей называются линями тока. Множество линий тока даёт нам представление о потоке жидкости или газа в данный момент времени. К слову, линия тока и траектория движения частицы – это не одно и то же. Если поле скоростей не меняется с течением времени (например, река с устоявшимся течением), то, да – мусоринки будут плыть по линиям тока. Такое поле называют стационарным, и в нём траектории движения частиц совпадают с линиями тока. Но представьте пыльную бурю – здесь линии тока в каждый момент разные, и поэтому мусоринка будет лететь по своей уникальной траектории, а вовсе не по какой-то конкретной линии тока.
Вообще, многие понятия теории поля пришли из гидродинамики, с чем мы ещё не раз столкнёмся.
Если «плоское» векторное поле задано ненулевой функцией , то его силовые линии можно найти из дифференциального уравнения
. Решение
данного уравнения задаёт семейство векторных линий на плоскости
. Иногда в задачах требуется изобразить несколько таких линий, что обычно не вызывает затруднений – выбрали несколько удобных значений «цэ», начертили какие-нибудь там гиперболы, и порядок.
С пространственным векторным полем ситуация занятнее. Его силовые линии определяются соотношениями
. Здесь нужно решить систему двух дифференциальных уравнений и получить два семейства
пространственных поверхностей. Линии пересечения этих семейств и будут пространственными векторными линиями. Если все компоненты («пэ», «ку», «эр») отличны от нуля, то существует несколько технических способов решения. Я не буду рассматривать все эти способы (т.к. статья разрастется до неприличных размеров), а остановлюсь на распространённом частном случае, когда одна из компонент векторного поля равна нулю. Давайте сразу распишем все варианты:
если , то нужно решить систему
;
если , то систему
;
и если , то
.
И что-то непозволительно давно у нас не было практики:
Найти силовые линии векторного поля
Решение: в данной задаче , поэтому решаем систему:
Первый диффур вообще халява:
– семейство плоскостей, параллельных координатной плоскости
(представили в уме!).
Второй диффур – почти она же:), ну а зачем нам скоропостижные трудности?
– семейство (внимание!) параболических цилиндров, параллельных оси
.
Ответ: искомое множество векторных линий:
Иными словами, здесь в каждой плоскости «сидит» семейство парабол
.
Аналогичная задачка для самостоятельного решения:
Найти силовые линии векторного поля
Охарактеризуйте получившееся множество линий. Кстати, в условии явно не сказано, о каком поле идёт речь – плоском или пространственном. В подобных ситуациях рекомендую решать задачу для пространства – не ошибётесь 😉
Краткое решение и ответ в конце урока.
Векторное поле градиентов
В каких отношениях вы находитесь с производной по направлению и градиентом? …ничего страшного, от ненависти до любви – один шаг =) Напоминаю, что градиент функции в точке – это несвободный вектор, указывающий направление максимального роста функции в данной точке и определяющий скорость этого роста.
Нахождение векторной функции градиентов – есть популярный и распространённый способ получить из скалярного поля поле векторное. При условии существования соответствующих частных производных функции двух и трёх переменных:
Смысл очень прост. Так, если функция задаёт скалярное поле глубины озера, то соответствующая векторная функция
определяет множество несвободных векторов, каждый из которых указывает направление наискорейшего подъёма дна в той или иной точке
и скорость этого подъёма.
Если функция задаёт скалярное поле температуры некоторой области пространства, то соответствующее векторное поле
характеризует направление и скорость наибыстрейшего прогревания пространства в каждой точке
этой области.
Разберём общую математическую задачу:
Дано скалярное поле и точка
. Требуется:
1) составить градиентную функцию скалярного поля;
2) найти градиент поля в точке и вычислить его длину;
3) вычислить производную по направлению нормального вектора к поверхности в точке
, образующего с положительной полуосью
тупой угол.
Непосредственно к решению задачи это не относится, но сразу обратим внимание, что скалярное поле не определено на всех трёх координатных плоскостях .
1) Быстренько вспоминаем, как находить частные производные функции трёх переменных:
Составим функцию, которая определяет векторное поле градиентов:
И ещё раз – в чём её смысл? Полученная векторная функция каждой точке области определения скалярного поля ставит в соответствие вектор
, указывающий направление и максимальную скорость роста функции
в данной точке.
И один из таких векторов нам предстоит найти в следующем пункте:
2) Вычислим частные производные в точке :
Таким образом: – ещё раз подчёркиваю, что этот вектор исходит из точки
, и перемещать его никуда нельзя! По той причине, что он характеризует направление наискорейшего возрастания функции
именно в точке «эм нулевое», а не где-то ещё!
Мерилом же этой максимальной скорости как раз является длина градиента:
3) Вычислим производную по направлению нормального вектора к поверхности в точке
, образующего с положительной полуосью
тупой угол.
Немного мудрёно, но разобраться немудренО. Во-первых, убедимся, что точка «эм нулевое» действительно принадлежит данной поверхности:
Получено верное равенство. ОК.
Что это за поверхность – нас не интересует, нам важен её нормальный вектор в точке , да не абы какой, а образующий с полуосью
тупой угол.
Вспоминаем материал ещё одного урока: вектор нормали к поверхности в точке
задаётся следующим образом:
В данном случае:
Но нужный ли это вектор? Как выяснить угол, который он образует с полуосью ? …Сегодня у нас какой-то экскурс в фильмы… =) и сейчас на очереди фильм «Вспомнить всё». Вычислим скалярное произведение вектора
с направляющим вектором
положительной «зетовой» полуоси:
, следовательно, угол между этими векторами острый, что нас не устраивает!
И поэтому нужно выбрать противоположно направленный нормальный вектор:
Заметим заодно, что нормальные векторы в отличие от градиентов – свободны, их задача лишь указать направление.
Вычислим направляющие косинусы данного направления, или, что то же самое – координаты единичного вектора, сонаправленного с вектором :
Контроль:
Таким образом, искомая производная по направлению:
Напоминаю, что это значение характеризует скорость роста функции в точке
по направлению вектора
, и оно не может оказаться больше, чем
(максимальной скорости роста в данной точке).
Ответ:
Небольшой пример для самостоятельного решения:
Найти угол между градиентами скалярных полей и
в точке
Просто и со вкусом. …Как найти угол? – с помощью того же скалярного произведения. Ну и, очевидно, тут придётся «тряхнуть» многоэтажными дробями и некоторой тригонометрией. Краткое решение и ответ в конце урока.
Что делать, если вам предложено «плоское» скалярное поле ? Просто убавьте одну координату, соответствующие примеры можно найти в статье Производная по направлению и градиент функции. По существу, мы вновь прорешали примеры той статьи, только немного в другой интерпретации.
Потенциальное векторное поле
На уроке Криволинейный интеграл по замкнутому контуру я уже подробно рассказал о «плоском» потенциальном поле, и поэтому перед дальнейшим чтением будет крайне полезно окинуть взглядом концовку указанной статьи. Фактически сейчас будет продолжение, где мы разбёрём аналогичную ситуацию в пространстве.
«Потенциальное»…, на ум здесь приходит потенциальная энергия, потенциальные возможности. Так, лежащий на подоконнике кирпич потенциально можно сбросить вниз, и вмятина на земле неиллюзорно продемонстрируют нам ту самую потенциальную энергию. Всё верно, гравитационное поле Земли – это один из ярких примеров потенциального векторного поля.
Вспомним его характерный признак, сбросив с подоконника нашего уютного деревенского домика…, нет, не кирпич, а пёрышко. Из точки до точки
оно может пролететь по бесчисленному множеству траекторий (из-за ветра, по причине сопротивления воздуха и т.д.), но во всех случаях гравитационное поле Земли совершит одну и ту же работу по перемещению пера между этими точками. Ну а различные траектории – это уже «вклад» других сил, которые, к слову, тоже можно описать векторными полями.
Примечание: возможно, здесь у вас возник вопрос: «но ветер же может приподнимать перо, и тогда работа должна увеличиваться!». Ничего подобного. Физическое понятие работы не подразумевает, что кто-то или что-то «трудится». Если ветер приподнимает перо вверх, то он просто уменьшает абсолютную величину работы силы тяжести.
В физике есть конкретная математическая модель, описывающая гравитационные силы, но в соответствии с направленностью сайта, я приведу только общие формулы. Итак:
Векторное поле является потенциальным, если оно представляет собой поле градиентов некоторого скалярного поля
. Функцию
называют потенциальной функцией или просто потенциалом.
Работа потенциального векторного поля по перемещению материальной точки из точки
в точку
не зависит от траектории её движения и выражается следующим криволинейным интегралом 2-го рода:
, который равен разности потенциалов
.
Иными словами, в потенциальном поле имеет значение лишь начальная и конечная точка маршрута. И если эти точки совпадают, то суммарная работа сил по замкнутому контуру будет равна нулю:
Давайте поднимем пёрышко с земли и доставим его в исходную точку. При этом траектория нашего движения опять же произвольная; можно даже бросить перо, снова его поднять и т.д.
Почему итоговый результат нулевой?
Перо упало из точки «а» в точку «бэ»? Упало. Сила тяжести совершила работу .
Перо попало обратно в точку «а»? Попало. А это значит, что была совершена точно такая же работа против сил тяжести, причём не важно с какими «приключениями» и какими силами – да хоть ветер задул его обратно.
Примечание: в физике знак «минус» символизирует противоположное направление.
Таким образом, суммарная работа сил равна нулю:
Как я уже отмечал, физическое и обывательское понятие работы отличаются. И это различие вам хорошо поможет понять не пёрышко и даже не кирпич, а, например, пианино 🙂
Дружно поднимите пианино и спустите его по лестнице вниз. Потаскайте по улице. Сколько захочется и где захочется. И если никто не вызвал дурку занесите инструмент обратно. Вы поработали? Конечно. До седьмого пота. Но с точки зрения физики никакой работы не совершено.
Словосочетание «разность потенциалов» подмывает рассказать ещё о потенциальном электростатическом поле, но бить током своих читателей как-то уж совсем не гуманно =) Тем более, примеров – непочатый край, ибо потенциальным является любое градиентное поле, коих пруд пруди.
Но легко сказать «пруд пруди»: вот дано нам векторное поле – как определить, потенциально оно или нет?
Ротор векторного поля
Или его вихревая составляющая, которая тоже выражается векторами.
Снова возьмём в руки пёрышко и аккуратно отправим его в плавание по реке. Для чистоты эксперимента будем считать, что оно однородно и симметрично относительно своего центра. Ось торчит вверх.
Рассмотрим векторное поле скорости течения (считаем, что оно неизменно во времени), и некоторую точку водной поверхности, над которой находится центр пера.
Если в данной точке перо вращается против часовой стрелки, то поставим ей в соответствие исходящий несвободный вектор, направленный вверх. При этом, чем быстрее вращается перо, тем длиннее этот вектор, …мне почему-то он представляется таким чёрным-чёрным в ярких лучах солнца…. Если вращение происходит ПО часовой стрелке, то вектор «смотрит» вниз. Если же перо не вращается вовсе, то вектор нулевой.
Знакомьтесь – это и есть вектор ротора векторного поля скорости, он характеризует направление «завихрения» жидкости в данной точке и угловую скорость вращения пера (но не направление и не скорость самого течения!).
Совершенно понятно, что роторный вектор есть у всех точек реки (в том числе тех, которые «под водой»), таким образом, для векторного поля скорости течения мы определили новое векторное поле!
Если векторное поле задано функцией , то его роторное поле задаётся следующей векторной функцией:
При этом, если векторы роторного поля реки велики по модулю и имеют тенденцию менять направление, то это вовсе не означает, что речь идёт об извилистой и неспокойной реке (возвращаемся к примеру). Такая ситуация может наблюдаться и в прямолинейном русле – когда, например, в середине скорость выше, а у берегов ниже. То есть, вращение пера порождается различными скоростями течения в соседних линиях тока. Но это не единственно возможная причина вращения. Если рядом с рекой стоит экспериментатор и поливает её из шланга, то поле скоростей будет постоянно меняться, и «завихрения» начнутся по той причине, что меняются сами линии тока.
С другой стороны, если роторные векторы коротки, то это может быть и «петляющая» горная речка! Важно, чтобы в соседних линиях тока скорость самого течения (быстрого или медленного) отличалась незначительно. И не было рядом экспериментаторов или каких-нибудь оползней, которые меняют поле скоростей.
И, наконец, отвечаем на поставленный выше вопрос: в любой точке потенциального поля его ротор равен нулю:
, а точнее, нулевому вектору.
Потенциальное поле также называют безвихревым полем.
Ну и, конечно, наше бренное гравитационное поле. Для следующего опыта хорошо подойдёт любой достаточно тяжёлый и однородный предмет, например, закрытая книга, непочатая банка пива или, кстати, кирпич, который таки дождался своего часа =) Зажмите его торцы руками, приподнимите вверх и аккуратно отпустите в свободное падение. Крутиться он не будет. А если и будет, то это уже ваши «личные усилия» или кирпич попался неправильный. Не поленитесь и проверьте этот факт! Только не бросайте ничего из окна, это уже не перо
После чего с чистой совестью и повышенным тонусом можно вернуться к практическим задачам:
Показать, что векторное поле является потенциальным и найти его потенциал
Решение: условие прямо утверждает потенциальность поля, и наша задача состоит в доказательстве этого факта. Найдём роторную функцию или, как чаще говорят – ротор данного поля:
Для удобства выпишем компоненты поля:
и начнём находить их частные производные – их удобно «перебирать» в «роторном» порядке, слева направо:
– и сразу проверяем, что
(чтобы не выполнять лишней работы в случае ненулевого результата). Едем дальше:
Таким образом: , следовательно, поле
потенциально, а значит, представляет собой градиентную функцию
некоторого скалярного поля, заданного потенциалом
.
Функцию обычно находят одним из следующих способов:
1) Способ первый. Коль скоро так (см. выше), то:
Дальнейший алгоритм напоминает решение дифференциального уравнения в полных дифференциалах, только с бОльшим количеством шагов:
Так как , то:
, где
– пока ещё неизвестная функция, зависящая от «игрек» и «зет».
Дифференцируем полученный результат по «игрек»:
Но, с другой стороны . Приравниваем и упрощаем:
Теперь частным интегрированием (переменных здесь уже две!) находим:
– подставляем в наш первый трофей
:
, после чего дифференцируем его уже по «зет»:
Но с другой стороны, . Приравниваем и упрощаем:
И, наконец, подставляем найдённую функцию в наш «усовершенствованный трофей»
:
– получаем тем самым, искомую потенциальную функцию.
Проверку тут выполнить легче лёгкого, находим частные производные 1-го порядка:
которые совпали с соответствующими компонентами исходного поля , в чём и требовалось убедиться.
Ну и, наверное, некоторые уже подметили, что равенства частных производных в «роторной» формуле – есть не что иное, как равенства смешанных частных производных 2-го порядка функции .
2) Способ второй. Потенциальную функцию можно найти при помощи формулы: , где
– точка с переменными координатами, а
– некоторая фиксированная точка скалярного поля
.
Легко видеть, что этот криволинейный интеграл определяет работу векторного поля от точки
до точки
и численно равен разности потенциалов
, откуда, собственно, и получается нужная функция
Запишем сумму трёх интегралов для поля :
И на этом шаге я по возможности рекомендую выбрать точку (если функция
и её производные в ней определены). После чего решение значительно упрощается:
При подстановке верхних пределов интегрирования можно сказать, что вместо «икс» мы подставляем «икс», вместо «игрек» – «игрек», и вместо «зет» – «зет».
Ответ:
Если начало координат выбрать нельзя, то задачу придётся решать в общем виде, в результате чего должна получиться разность . Любители трудностей могут вернуться к примеру и прийти к разности
. Разумеется, это легальный и рабочий вариант – можно решать и так.
С аналогичной задачей для «плоского» векторного поля можно ознакомиться на уроке Криволинейный интеграл по замкнутому контуру.
Пара полей для самостоятельного решения:
Выяснить, является ли следующие векторные поля потенциальными, и если да, то найти их потенциалы:
а)
б)
Обязано ли поле быть потенциальным в таких задачах? Конечно, нет, и отрицательный ответ – это тоже полноценный ответ. Примерный образец чистового оформления заданий внизу страницы.
Ну что же, теперь пришло время немного отдохнуть и увеличить ротор реки =) А именно нырнуть, искупаться и позагорать на солнце. Чтобы с новыми силами вернуться к столь увлекательной теме, а именно к потоку и циркуляции векторного поля
Спасибо за внимание и до скорых встреч!
Пример 2: Решение: составим и решим систему:
Из 1-го уравнения:
Из 2-го уравнения:
Константу переобозначим через
Ответ: – семейства эллипсов, расположенные в плоскостях
, параллельных плоскости
.
Примечание: если в условии задачи подразумевается «плоское» векторное поле, то векторные линии представляют собой множество эллипсов , расположенных в плоскости
.
Пример 4: Решение: вычислим частные производные функции в точке
:
Составим градиент данного скалярного поля в точке и вычислим его длину:
Аналогично найдём градиент второго скалярного поля:
В результате:
Угол между градиентами найдём по формуле:
Таким образом:
Ответ:
Пример 6: Решение:
а) проверим, равен ли нулю ротор векторного поля: .
В данном случае:
Следовательно,
Ответ: поле не потенциально.
б) найдём ротор векторного поля:
В данной задаче:
Таким образом: , значит, поле
потенциально и представляет собой функцию градиента
некоторого скалярного поля
. Найдём этот потенциал (здесь выгоднее использовать 1-й способ):
Так как , то:
Дифференцируем по «игрек»:
С другой стороны . Таким образом:
– подставим в
:
Дифференцируем по «зет»:
С другой стороны, . Таким образом:
– подставим в
Ответ: поле потенциально,
Автор: Емелин Александр
(Переход на главную страницу)
«Всё сдал!» — онлайн-сервис помощи студентам