Векторный анализ (VectorAnalysis). Системы координат и их преобразования.
Подпакет VectorAnalysis содержит множество функций, используемых при выполнении векторного анализа. Здесь надо иметь в виду, что речь идет не о векторах как представителях одномерных массивов, которые рассматривались ранее. В данном случае вектор – это направленный отрезок прямой в пространстве, заданном той или иной системой координат.
Заметная часть функций подпакета VectorAnalysis относится к заданию и преобразованию координат:
- Coordinates [ ] – возвращает имена переменных текущей системы координат;
- Coordinates [coordsys] – возвращает имена переменных системы координат coordsys;
- SetCoordinates [coordsys] – устанавливает систему координат coordsys с текущими переменными;
- Coordinates [coordsys, {vars}] – устанавливает систему координат coordsys с переменными, заданными списком {vars}.
Ниже даны названия систем координат и соответствующие им представления.
Наименование | Представление |
---|---|
Прямоугольные | Cartesian [х, у, z] |
Цилиндрические | Cylindrical [r, theta, z] |
Сферические | Spherical [r, theta, phi] |
Параболические цилиндрические | ParabolicCylindrical [u, v, z] |
Параболические | Paraboloidal [u, v, phi] |
Эллиптические цилиндрические | EllipticCylindrical [u, v, z, a] |
Вытянутые сфероидальные | ProlateSpheroidal [xi, eta, phi, a] |
Сплющенные сфероидальные | OblateSpheroidal [xi, eta, phi, a] |
Биполярные | Bipolar[u, v, z, a] |
Бисферические | Bispherical [u, v, phi, a] |
Тороидальные | Toroidal [u, v, phi, a] |
Конические | Conical [lambda, mu, nu, a, b] |
Конфокальные эллипсоидальные | ConfocalEllipsoidal [lambda, rnu, nu, a, b, c] |
Конфокальные параболические | ConfocalParaboloidal [lambda, mu, nu, a, bj |
Например, параболическую систему координат можно задать следующим образом:
SetCoordinates[Paraboloidal[x, y, z] ]
Paraboloidal [x, y, z]
{CoordinateSystem, Coordinates[]}
{Paraboloidal, {x, y, z}}
Ряд функций служит для контроля и установки параметров систем координат:
- CoordinateRanges [ ] – возвращает пределы изменения переменных текущей координатной системы;
- Parameters [ ] – возвращает параметры текущей координатной системы;
- ParametersRanges [ ] – возвращает пределы изменения параметров текущей координатной системы;
- CoordinateRanges [coordsys] – возвращает пределы изменения переменных координатной системы coordsys;
- Parameters [coordsys] – возвращает параметры координатной системы coordsys;
- ParametersRanges [coordsys] – возвращает пределы изменения параметров координатной системы coordsys;
- SetCoordinates [coordsys, {vars,param} ] – устанавливает параметры текущей координатной системы как параметры coordsys с переменными vars и параметрами param.
Ниже представлены примеры применения этих функций:
CoordinateRanges[]
{
0
<
X
<
∞,
0
<
Y
<
∞,
-
π
<
Z
<
=
π}
Parameters[ ]
{}
ParameterRanges[ ]
Coordinates[Conical], CoordinateRanges[Conical]
{{Llanibda, Mmu, Nnu}, {
-
∞
<
Llambda
<
∞, l
<
Mmu2
<
4
, Nnu2
<
1
}}
Parameters[Bipolar],ParameterRanges[Bipolar]
{{
1
},
0
<
#
1
<
∞}
Для преобразования координат служат следующие функции:
- CoordinatesToCartesian [pt] – преобразование текущих координат в декартовы;
- CoordinatesToCartesian [pt, coordsys] – преобразование координат coordsys в декартовы;
- CoordinatesFromCartesian [pt] – преобразование из декартовых координат в текущие;
- CoordinatesFromCartesian [pt, coordsys] – преобразование из декартовых координат в координаты coordsys.
Эти примеры демонстрируют преобразования координат:
CoordinatesToCartesian[{I, Pi
/
3
, Pi
/
3
}, Spherical]
CoordinatesToCartesian [u, v, phi}, Bipolar]
CoordinatesFromCartesian [ {x, y, z}, Bipolar]
{
-
2Im
[ArcCoth[x
+
Iy]],
2Re
[ArcCoth[x
+
Iy] ], z}