график::

Обобщенные трубчатые графики (поверхности канала)

Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.

Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.

Синтаксис

plot::Tube([x, y, z], <r>, t = tmin .. tmax, <a = amin .. amax>, options)

Описание

plot::Tube создает обобщенные трубчатые графики, известные как “поверхности канала”, с особыми случаями, известными как “поверхность трубы”, “передают поверхностные” или “трубчатые поверхности по каналу”.

Интуитивно, поверхности канала являются пространственными кривыми с толщиной. Более официально поверхность канала, plot::Tube([x(t), y(t), z(t)], r(t), t = t_min..t_max) является конвертом сфер с центром [x (t), y (t), z (t)] и радиус r (t), т.е. толщина кривой, может меняться в зависимости от параметра кривой t.

Атрибуты

АтрибутЦельЗначение по умолчанию
AffectViewingBoxвлияние объектов на ViewingBox сценыTRUE
AngleEndконец угловой области значений2*PI
AngleBeginначните угловой области значений0
AngleRangeугловая область значений0.. 2*PI
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
LineColorTypeтипы окраски строкиFlat
LineColorFunctionфункциональная окраска строки 
LineColorDirectionнаправление цветовых переходов на строках[0, 0, 1]
LineColorDirectionXx-компонент направления цветовых переходов на строках0
LineColorDirectionYy-компонент направления цветовых переходов на строках0
LineColorDirectionZz-компонент направления цветовых переходов на строках1
Meshколичество точек выборки[60, 11]
Nameимя объекта графика (для браузера и легенды) 
ParameterEndзакончите значение параметра анимации 
ParameterNameимя параметра анимации 
ParameterBeginначальное значение параметра анимации 
ParameterRangeобласть значений параметра анимации 
PointsVisibleвидимость точек meshFALSE
RadiusFunctionрадиус графика трубы1/10
Shadingсглаживайте цветное смешение поверхностейSmooth
Submeshплотность подmesh (дополнительные точки выборки)[0, 1]
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”60
UMinначальное значение параметра “u” 
UNameимя параметра “u” 
URangeобласть значений параметра “u” 
USubmeshплотность дополнительных точек выборки для параметра “u”0
VLinesVisibleвидимость строк параметра (v строки)TRUE
VMeshколичество точек выборки для параметра “v”11
VSubmeshплотность дополнительных точек выборки для параметра “v”1
VisibleвидимостьTRUE
VisibleAfterобъект, видимый после этой временной стоимости 
VisibleBeforeобъект, видимый до этой временной стоимости 
VisibleFromToобъект, видимый в это время, располагается 
VisibleAfterEndобъект, видимый после его законченного времени анимации?TRUE
VisibleBeforeBeginобъект, видимый перед его временем анимации, запускается?TRUE
XFunctionфункция для x значений 
YFunctionфункция для y значений 
ZFunctionфункция для z значений 

Примеры

Пример 1

Торус может чертиться как труба вокруг круга:

plot(plot::Tube([cos(t), sin(t), 0], 0.4,
     t = 0..2*PI))

Отличаясь диаметр трубы, мы деформируем торус в циклиду:

plot(plot::Tube([cos(t), sin(t), 0], 0.4 + 0.3*cos(t),
     t = 0..2*PI))

Пример 2

Все поверхности вращения являются особыми случаями поверхностей канала:

plot(plot::Scene3d(plot::XRotate(sin(u), u = 0..10)),
     plot::Scene3d(plot::ZRotate(sin(u), u = 0..10)),
     plot::Scene3d(plot::Tube([u, 0, 0], sin(u), u = 0..10)),
     plot::Scene3d(plot::Tube([0, 0, sin(u)], u, u = 0..10)),
     Width = 180 * unit::mm)

Последнее изображение показывает, что значения по умолчанию для mesh не всегда соответствуют и должны быть изменены:

plot(plot::Tube([0, 0, sin(u)], u, u = 0..10,
                Mesh = [20, 20]))

Пример 3

Известная бутылка Клейна может быть получена из “контура отбрасывания” при помощи соответствующей параметризации радиуса:

plot(plot::Tube([6*cos(u)*(sin(u) - 1), 0, 14*sin(u)],
                4 - 2*cos(u), u = -PI..PI))

Пример 4

Снова используя циклиду сверху, мы демонстрируем окраску поверхности канала:

color := (t, phi) -> RGB::fromHSV([(t+sin(4*phi))*180/PI, 1, 1]):
plot(plot::Tube([sin(t), cos(t), 0], 0.4 + 0.3*cos(t), t=0..2*PI,
                FillColorFunction = color))

Пример 5

Еще одно изменение циклиды, мы используем непостоянный AngleRange, чтобы “нарезать” его:

plot(plot::Tube([sin(t), cos(t), 0], 0.4 - 0.3*sin(t), t=0..2*PI,
                AngleRange = 0 .. 2*PI*sin(abs(t-PI/2)/2)),
     Axes = None, CameraDirection = [14, 1, 5])

Построить больше чем один трубчатый график с идентичным позвоночником изгибается, но различные угловые области значений, мы можем достигнуть подобного оплетке эффекта:

braid := i ->
   plot::Tube([sin(u), cos(u), 0], 0.2, u=0..2*PI,
              AngleRange = i*PI/3 + 3*u .. i*PI/3 + 3*u + 1/2,
              Color = RGB::EmeraldGreen, Mesh = [60, 2]):
torus := plot::Tube([sin(u), cos(u), 0], 0.18, u=0..2*PI,
                    Color = RGB::BlueLight,
                    Name = "Torus"):
plot(braid(i) $ i = 0..5,
     torus,
     ULinesVisible = FALSE, VLinesVisible = FALSE,
     FillColorType = Flat,
     Axes = None, CameraDirection = [0, 7, 10])

Пример 6

Кривая позвоночника, функция радиуса, функции управления цветом и т.д. могут быть анимированы, как обычно:

plot(plot::Tube([sin(t)*sin(a), cos(t)*cos(a), sin(a)],
                0.4 - 0.3*sin(t-a),
                t = 0..2*PI, a = 0..2*PI,
                Frames = 20, TimeRange = 0..5))

Пример 7

Обратите внимание на то, что в присутствии резкого изгиба (относительно диаметра трубы), поверхность построила мой plot::Tube, может самопересечься:

plot(plot::Tube([x, 0, x^2], 1.2, x = -1.4..1.4,
                Mesh = [20, 10]),
     Axes = None, CameraDirection = [-3, 1, 2])

Этот эффект неизбежен. Изгибы Sharp также вызывают другой эффект, которого можно избежать путем повышения плотности mesh: труба не может следовать за кривой достаточно быстро:

plot(plot::Tube([sin(x^2), x, 0], x = -5..0))

В этой ситуации можно установить USubmesh на положительное значение запрашивать дополнительные функциональные оценки:

plot(plot::Tube([sin(x^2), x, 0], x = -5..0, USubmesh = 5))

Параметры

x, y, z

Координаты кривой позвоночника: выражения с действительным знаком в t и параметре анимации.

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

r

Радиус трубы: выражение с действительным знаком в t и параметре анимации. Значением по умолчанию является константа.

r эквивалентен атрибуту RadiusFunction.

t

Параметр кривой: (индексируемый) идентификатор.

t эквивалентен атрибуту UName.

tmin .. tmax

Область значений параметра кривой: выражения с действительным знаком в параметре анимации.

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

a

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

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

Функции MuPAD

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

Для просмотра документации необходимо авторизоваться на сайте