график::

Поверхности в 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]
FillColorDirectionXx-компонент направления цветовых переходов на поверхностях0
FillColorDirectionYy-компонент направления цветовых переходов на поверхностях0
FillColorDirectionZz-компонент направления цветовых переходов на поверхностях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]
LineColorDirectionXx-компонент направления цветовых переходов на строках0
LineColorDirectionYy-компонент направления цветовых переходов на строках0
LineColorDirectionZz-компонент направления цветовых переходов на строках1
Meshколичество точек выборки[25, 25]
MeshVisibleвидимость неправильных строк mesh в 3DFALSE
Nameимя объекта графика (для браузера и легенды) 
ParameterEndзакончите значение параметра анимации 
ParameterNameимя параметра анимации 
ParameterBeginначальное значение параметра анимации 
ParameterRangeобласть значений параметра анимации 
PointSizeразмер точек1.5
PointStyleстиль презентации точекFilledCircles
PointsVisibleвидимость точек meshFALSE
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 значений 

Примеры

Пример 1

Используя постоянный радиус для 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))

Пример 2

Цилиндрические поверхности чертятся от оценок на равноотстоящей сетке точек. В некоторых случаях плотность 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))

Пример 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])

Пример 4

Поскольку преобразование от цилиндрического до прямоугольных координат обратимо (до сокращения угла к области значений [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))

Параметры

r, ϕ, z

Координатные функции: арифметические выражения или piecewise возражают в зависимости от поверхностных параметров u, v и параметру анимации a. Также процедуры, которые принимают 2 входных параметра u, v или 3 входных параметра u, v, a и возвращают действительное численное значение, когда входные параметры являются числовыми.

r, ϕ, z эквивалентен атрибутам XFunction, YFunction, ZFunction.

u

Первый поверхностный параметр: идентификатор или индексируемый идентификатор.

u эквивалентен атрибутам UName, UMin, UMax.

umin .. umax

Область значений графика для параметра u: umin, umax должен быть числовыми действительными значениями или выражениями параметра анимации a.

umin.. umax эквивалентен атрибутам URange, UMin, UMax.

v

Второй поверхностный параметр: идентификатор или индексируемый идентификатор.

v эквивалентен атрибуту VName.

vmin .. vmax

Область значений графика для параметра v: vmin, vmax должен быть числовыми действительными значениями или выражениями параметра анимации a.

vmin.. vmax эквивалентен атрибутам VRange, VMin, VMax.

a

Параметр анимации, заданный как a = amin..amax, где amin является начальным значением параметров и amax, является итоговым значением параметров.

Смотрите также

Функции MuPAD

MuPAD графические примитивы