график::Поверхности в 3D, параметризованном в цилиндрических координатах
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
plot::Cylindrical([r, ϕ, z], u = umin .. umax, v = vmin .. vmax, <a = amin .. amax>, options)
plot::Cylindrical создает поверхности, параметризованные в цилиндрических координатах.
Поверхность, данная отображением (“параметризация”)
, является набором всех точек изображений

в цилиндрических координатах, которые переводят в обычные “Декартовы” координаты как
.
r упоминается как “радиус”, ϕ как “угол в полярных координатах” и z как “высота” точки.
Функции r, ϕ, z оценен на регулярной равноотстоящей mesh точек выборки в u-v плоскость. Эта mesh определяется атрибутами UMesh, VMesh. По умолчанию атрибут, AdaptiveMesh = 0 установлен, т.е. никакое адаптивное улучшение равноотстоящей mesh, используется.
Если стандартная mesh не достаточна, чтобы произвести достаточно подробный график, можно или увеличить значение UMesh, VMesh или USubmesh, VSubmesh, или установить AdaptiveMesh = n с некоторым (маленьким) положительным целочисленным n. При необходимости до 2n - 1 дополнительная точка помещается в каждое направление u-v плоскость между смежными точками начальной равноотстоящей mesh. Cf. Пример 2.
“Координатные строки” (“строки параметра”) являются кривыми на поверхности.
Фраза “ULines” отсылает к кривым (r (u, v 0), ϕ (u, v 0), z (u, v 0)) с параметром u, запускающийся от umin до umax, в то время как v 0 является некоторым фиксированным значением от интервала [vmin, vmax].
Фраза “VLines” отсылает к кривым (r (u 0, v), ϕ (u 0, v), z (u 0, v)) с параметром v, запускающийся от vmin до vmax, в то время как u 0 является некоторым фиксированным значением от интервала [umin, umax].
По умолчанию кривые параметра видимы. Они могут быть выключены путем определения ULinesVisible = FALSE и VLinesVisible = FALSE, соответственно.
Координатные строки, которыми управляет ULinesVisible = TRUE/FALSE и VLinesVisible = TRUE/FALSE, указывают на равноотстоящую mesh в u-v плоский набор через UMesh, атрибуты VMesh. Если mesh усовершенствована USubmesh, атрибутами VSubmesh, или адаптивным механизмом, которым управляет AdaptiveMesh = n, никакие дополнительные линии параметра не проведены.
Насколько числовое приближение поверхности затронуто, настройки
UMesh = nu, VMesh = nv, USubmesh = mu, VSubmesh = mv
и
UMesh = (nu - 1) (mu + 1) + 1, VMesh = (nv - 1) (mv + 1) + 1,
USubmesh = 0, VSubmesh = 0
эквивалентны. Однако в первой установке, строки параметра nu видимы в направлении u, в то время как в последнем параметре установки (nu - 1) (mu + 1) + 1 строки видимы. Cf. Пример 2.
Используйте Filled = FALSE, чтобы получить каркасное представление поверхности.
Если выражения/функции, r и/или z содержат особенности, это рекомендуется (но не строго необходимое), чтобы использовать атрибут ViewingBox, чтобы установить подходящее поле просмотра. Никакие такие меры предосторожности не необходимы для ϕ, несмотря на то, что особенности в этой функции могут привести к плохо представленным поверхностям – во многих случаях установка атрибутов, Mesh и/или AdaptiveMesh к более высоким значениям помогут. Cf. Пример 3.
| Атрибут | Цель | Значение по умолчанию |
|---|---|---|
AdaptiveMesh | адаптивная выборка | 0 |
AffectViewingBox | влияние объектов на ViewingBox сцены | TRUE |
Color | основной цвет | RGB::Red |
Filled | заполненные или прозрачные области и поверхности | TRUE |
FillColor | цвет областей и поверхностей | RGB::Red |
FillColor2 | второй цвет областей и поверхностей для цветных смешений | RGB::CornflowerBlue |
FillColorType | типы заполнения поверхности | Dichromatic |
FillColorFunction | функциональная область / поверхностная окраска | |
FillColorDirection | направление цветовых переходов на поверхностях | [0, 0, 1] |
FillColorDirectionX | x-компонент направления цветовых переходов на поверхностях | 0 |
FillColorDirectionY | y-компонент направления цветовых переходов на поверхностях | 0 |
FillColorDirectionZ | z-компонент направления цветовых переходов на поверхностях | 1 |
Frames | количество кадров в анимации | 50 |
Legend | делает запись легенды | |
LegendText | короткий объяснительный текст для легенды | |
LegendEntry | добавить этот объект в легенду? | TRUE |
LineColor | цвет строк | RGB::Black.[0.25] |
LineWidth | ширина строк | 0.35 |
LineColor2 | цвет строк | RGB::DeepPink |
LineStyle | тело, подчеркнутые штриховой линией или пунктирные линии? | Solid |
LineColorType | типы окраски строки | Flat |
LineColorFunction | функциональная окраска строки | |
LineColorDirection | направление цветовых переходов на строках | [0, 0, 1] |
LineColorDirectionX | x-компонент направления цветовых переходов на строках | 0 |
LineColorDirectionY | y-компонент направления цветовых переходов на строках | 0 |
LineColorDirectionZ | z-компонент направления цветовых переходов на строках | 1 |
Mesh | количество точек выборки | [25, 25] |
MeshVisible | видимость неправильных строк mesh в 3D | FALSE |
Name | имя объекта графика (для браузера и легенды) | |
ParameterEnd | закончите значение параметра анимации | |
ParameterName | имя параметра анимации | |
ParameterBegin | начальное значение параметра анимации | |
ParameterRange | область значений параметра анимации | |
PointSize | размер точек | 1.5 |
PointStyle | стиль презентации точек | FilledCircles |
PointsVisible | видимость точек mesh | FALSE |
Submesh | плотность подmesh (дополнительные точки выборки) | [0, 0] |
TimeEnd | время окончания анимации | 10.0 |
TimeBegin | время начала анимации | 0.0 |
TimeRange | оперативный промежуток анимации | 0.0 .. 10.0 |
Title | объектный заголовок | |
TitleFont | шрифт объектных заголовков | [" sans-serif ", 11] |
TitlePosition | положение объектных заголовков | |
TitleAlignment | выравнивание по горизонтали заголовков w.r.t. их координаты | Center |
TitlePositionX | положение объектных заголовков, x компонент | |
TitlePositionY | положение объектных заголовков, y компонент | |
TitlePositionZ | положение объектных заголовков, z компонент | |
ULinesVisible | видимость строк параметра (u строки) | TRUE |
UMax | окончательное значение параметра “u” | |
UMesh | количество точек выборки для параметра “u” | 25 |
UMin | начальное значение параметра “u” | |
UName | имя параметра “u” | |
URange | область значений параметра “u” | |
USubmesh | плотность дополнительных точек выборки для параметра “u” | 0 |
VLinesVisible | видимость строк параметра (v строки) | TRUE |
VMax | окончательное значение параметра “v” | |
VMesh | количество точек выборки для параметра “v” | 25 |
VMin | начальное значение параметра “v” | |
VName | имя параметра “v” | |
VRange | область значений параметра “v” | |
VSubmesh | плотность дополнительных точек выборки для параметра “v” | 0 |
Visible | видимость | TRUE |
VisibleAfter | объект, видимый после этой временной стоимости | |
VisibleBefore | объект, видимый до этой временной стоимости | |
VisibleFromTo | объект, видимый в это время, располагается | |
VisibleAfterEnd | объект, видимый после его законченного времени анимации? | TRUE |
VisibleBeforeBegin | объект, видимый перед его временем анимации, запускается? | TRUE |
XContours | линии контура в постоянных x значениях | [] |
XFunction | функция для x значений | |
YContours | линии контура в постоянных y значениях | [] |
YFunction | функция для y значений | |
ZContours | линии контура в постоянных z значениях | [] |
ZFunction | функция для z значений |
Используя постоянный радиус для plot::Cylindrical, с другими двумя функциями прямо от поверхностных параметров, результатов в правильном цилиндре. Это объясняет имя “цилиндрические координаты”:
plot(plot::Cylindrical([1, phi, z], phi = 0..2*PI, z = -1..1))

Другие прямые примеры включают конусы и параболоиды оборота:
plot(plot::Cylindrical([r, phi, 2*r], r = 0..1, phi = 0..2*PI))

plot(plot::Cylindrical([r, phi, r^2], r = 0..1, phi = 0..2*PI))

Цилиндрические поверхности чертятся от оценок на равноотстоящей сетке точек. В некоторых случаях плотность mesh по умолчанию является недостаточной или в противном случае несоответствующей:
plot(plot::Cylindrical([cos(phi^2), phi, z],
phi=-2.8..2.8, z=0..1/2))
Одно возможное изменение в этой команде plot должно явным образом установить mesh с атрибутом Mesh. Обратите внимание на то, что эта установка влияет на плотность строк параметра:
plot(plot::Cylindrical([cos(phi^2), phi, z],
phi=-2.8..2.8, z=0..1/2,
Mesh = [100, 5]))
Чтобы повысить плотность mesh, не вводя дополнительные строки параметра, можно использовать настройки подmesh:
plot(plot::Cylindrical([cos(phi^2), phi, z],
phi=-2.8..2.8, z=0..1/2,
VMesh = 5, USubmesh = 3))
Наконец, мы можем также попросить, чтобы plot::Cylindrical совершенствовал mesh только в областях высшей кривизны. В следующем примере мы допускаем 23 = 8 дополнительных точек между каждым две соседних точки начальной mesh:
plot(plot::Cylindrical([cos(phi^2), phi, z],
phi=-2.8..2.8, z=0..1/2,
VMesh = 5, AdaptiveMesh = 3))
Если радиус - или z-function/expression содержит особенности, plot::Cylindrical использует усечение эвристики, чтобы выбрать область значений, чтобы отобразиться:
plot(plot::Cylindrical([1/sqrt((phi - PI)^2 + z^2), phi, z],
phi = 0..2*PI, z = -1..1))
В то время как эта эвристика работает хорошо во многих случаях, существуют также примеры, где они не выбирают полезное поле:
plot(plot::Cylindrical([1/((phi - PI)^2 + z^2), phi, z],
phi = 0.. 2*PI, z = -1..1))
В этих случаях пользователь должен установить область значений отображаться явным образом:
plot(plot::Cylindrical([1/((phi - PI)^2+z^2), phi, z],
phi = 0..2*PI, z = -1..1),
ViewingBox = [-2..0.3, -1.5..1.5, -1..1])
Поскольку преобразование от цилиндрического до прямоугольных координат обратимо (до сокращения угла к области значений [0, 2 π], возможно построить любую поверхность с plot::Cylindrical (несмотря на то, что это - вероятно, больше любопытство, чем действительно полезный):
trans := linalg::ogCoordTab[Cylindrical, InverseTransformation]: cyl := trans(x, y, sin(x^2+y^2))

plot(plot::Cylindrical(cyl, x = -2..2, y = -2..2))

|
Координатные функции: арифметические выражения или
|
|
Первый поверхностный параметр: идентификатор или индексируемый идентификатор. |
|
Область значений графика для параметра u: |
|
Второй поверхностный параметр: идентификатор или индексируемый идентификатор.
|
|
Область значений графика для параметра v: |
|
Параметр анимации, заданный как |