plot::Implicit3d

Очертите поверхности функции от R^3 до R

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

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

Синтаксис

plot::Implicit3d(f, x = xmin .. xmax, y = ymin .. ymax, z = zmin .. zmax, <a = amin .. amax>, options)

Описание

plot::Implicit3d(f(x, y, z), x = xmin..xmax , y = ymin..ymax , z = zmin..zmax ) строит поверхности где сглаженный функциональный f нуль.

plot::Implicit3d(f, x = xmin..xmax , y = ymin..ymax , z = zmin..zmax ) строит (двумерная часть) обнуляет f в данной области значений, т.е. набора.

plot::Implicit3d принимает, что f является регулярным почти везде на этой поверхности, что означает, что f должен быть дифференцируемым, и по крайней мере две из его частных производных должны быть ненулевыми.

plot::Implicit3d оценивает заданную функцию на равноотстоящей, 3D mesh, coarsity которой может быть установлен с атрибутами XMesh, YMesh, и ZMesh для каждого из этих трех направлений, или с объединяющимся атрибутом Mesh это устанавливает все три из них одновременно.

После нахождения начальной триангуляции поверхности из числовых данных по начальной сетке, plot::Implicit3d опционально выполняет адаптивное подразделение треугольников. Короче говоря: Если начальное вычисление пропустит детали в целом, адаптивное улучшение не найдет их также. С другой стороны, если начальное вычисление покажет побочные скачки, адаптивное улучшение приведет к намного более реалистическому изображению, за счет времени; выше значение AdaptiveMesh, больше. Увеличение AdaptiveMesh к первому мая в крайних случаях увеличивают время вычисления на фактор восемь или больше!

Детали алгоритма следующие: На верхнем уровне “эффективный адаптивный уровень” установлен в значение атрибута AdaptiveMesh. Если для данного ребра эффективный адаптивный уровень положителен, и ребро уже не очень коротко, по сравнению с размером полного образа, и вставка новой точки на неявной поверхности около середины этого ребра заставила бы два новых ребра иметь угол меньше чем 170 градусов, то ребро разделено, смежные треугольники разделены соответственно (учитывающий все их ребра), и все новые ребра, вызванные этой операцией, исследованы с эффективным адаптивным уровнем, сниженным одним.

Построить другие контуры, чем обнуляет, используйте опцию Contours.

Атрибуты

АтрибутЦельЗначение по умолчанию
AdaptiveMeshадаптивная выборка0
AffectViewingBoxвлияние объектов на ViewingBox из сценыTRUE
Colorосновной цветRGB::Red
Contoursконтуры неявной функции[0]
Filledзаполненные или прозрачные области и поверхностиTRUE
FillColorцвет областей и поверхностейRGB::Red
FillColor2второй цвет областей и поверхностей для цветных смешенийRGB::CornflowerBlue
FillColorTypeтипы заполнения поверхностиDichromatic
FillColorFunctionфункциональная область / поверхностная окраска 
FillColorDirectionнаправление цветовых переходов на поверхностях[0, 0, 1]
FillColorDirectionXx-компонент направления цветовых переходов на поверхностях0
FillColorDirectionYy-компонент направления цветовых переходов на поверхностях0
FillColorDirectionZz-компонент направления цветовых переходов на поверхностях1
Framesколичество систем координат в анимации50
Functionвыражение function или процедура 
Legendделает запись легенды 
LegendTextкороткий объяснительный текст для легенды 
LegendEntryдобавить этот объект в легенду?TRUE
LineColorцвет линийRGB::Black.[0.15]
LineWidthширина линий0.35
LineColor2цвет линийRGB::DeepPink
LineStyleтело, подчеркнутые штриховой линией или пунктирные линии?Solid
LineColorTypeтипы окраски линииFlat
LineColorFunctionфункциональная окраска линии 
LineColorDirectionнаправление цветовых переходов на линиях[0, 0, 1]
LineColorDirectionXx-компонент направления цветовых переходов на линиях0
LineColorDirectionYy-компонент направления цветовых переходов на линиях0
LineColorDirectionZz-компонент направления цветовых переходов на линиях1
Meshколичество точек выборки[11, 11, 11]
MeshVisibleвидимость неправильных линий mesh в 3DFALSE
Nameимя объекта графика (для браузера и легенды) 
ParameterEndзакончите значение параметра анимации 
ParameterNameимя параметра анимации 
ParameterBeginначальное значение параметра анимации 
ParameterRangeобласть значений параметра анимации 
PointStyleстиль презентации точекFilledCircles
PointsVisibleвидимость точек meshFALSE
Shadingсглаживайте цветное смешение поверхностейSmooth
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 компонент 
VisibleвидимостьTRUE
VisibleAfterобъект, видимый после этой временной стоимости 
VisibleBeforeобъект, видимый до этой временной стоимости 
VisibleFromToобъект, видимый в это время, располагается 
VisibleAfterEndобъект, видимый после его законченного времени анимации?TRUE
VisibleBeforeBeginобъект, видимый перед его временем анимации, запускается?TRUE
XContoursлинии контура в постоянных x значениях[Automatic, 15]
XMaxокончательное значение параметра “x” 
XMeshколичество точек выборки для параметра “x”11
XMinначальное значение параметра “x” 
XNameимя параметра “x” 
XRangeобласть значений параметра “x” 
YContoursлинии контура в постоянных y значениях[Automatic, 15]
YMaxокончательное значение параметра “y” 
YMeshколичество точек выборки для параметра “y”11
YMinначальное значение параметра “y” 
YNameимя параметра “y” 
YRangeобласть значений параметра “y” 
ZContoursлинии контура в постоянных z значениях[Automatic, 15]
ZMaxокончательное значение параметра “z” 
ZMeshколичество точек выборки для параметра “z”11
ZMinначальное значение параметра “z” 
ZNameимя параметра “z” 
ZRangeобласть значений параметра “z” 

Примеры

Пример 1

Набор x, y, z, где x 2 + y 2 + z 2 = 1 формируют сферу:

plot(plot::Implicit3d(x^2 + y^2 + z^2 - 1,
                      x = -1.5..1.5,
                      y = -1.5..1.5, 
                      z = -1.5..1.5),
     Scaling = Constrained)

Пример 2

Набор обнуляет продукта, объединение обнуления отдельных функций:

plot(plot::Implicit3d((x^2 + y^2 + z^2 - 1) * x,
                      x = -1.5..1.5,
                      y = -1.5..1.5, 
                      z = -1.5..1.5),
     Scaling = Constrained)

Обратите внимание на то, что это изображение в основном во власти артефактов, вызванных крупной mesh оценки. Увеличение этой mesh улучшает графику, но увеличивает время вычисления:

plot(plot::Implicit3d((x^2 + y^2 + z^2 - 1) * x,
                      x = -1.5..1.5,
                      y = -1.5..1.5, 
                      z = -1.5..1.5,
                      Mesh = [21, 9, 9], AdaptiveMesh = 2),
     Scaling = Constrained)

Пример 3

С MeshVisible = TRUE, внутренняя триангуляция становится видимой:

plot(plot::Implicit3d(z^2 - sin(z - x^2*y^2) = 0,
                      x = -1 .. 1, y = -1 .. 1, z = 0 .. 1,
                      AdaptiveMesh = 2, MeshVisible = TRUE,
                      LineColor = RGB::Black.[0.25])):

Пример 4

Используя функции, которые не непрерывно дифференцируемы, возможно сгенерировать резкий край в изображениях:

plot(plot::Implicit3d(min(x^2 + y^2 + z^2 - 2, -z),
                      x = -2..2, y = -2..2, z = -1.5..0.5),
     Axes = None, Scaling = Constrained)

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

im := plot::Implicit3d(min(x^2 + y, y^2 - z),
                       x = -2..2, y = -2..2, z = 0..1):
plot(im)

plot(im, AdaptiveMesh = 3)

Пример 5

Анимация plot::Implicit3d объекты занимают много времени. Это легко и быстро, тем не менее, чтобы добавить анимированный объект камеры:

plot(plot::Implicit3d(sin(x)+sin(y)+sin(z), x=-5..5, y=-5..5, z=-5..5),
     plot::Camera([42*sin(t),42*cos(t),42*cos(t-sin(t))], [0,0,0],
                  PI/12, t=0..2*PI),
     AnimationStyle=Loop)

Параметры

f

Выражение с действительным знаком или уравнение в xYZ, и возможно параметр анимации.

f эквивалентно атрибуту Function.

xYZ

идентификаторы.

xYZ эквивалентны атрибутам XName, YName, ZName.

xmin .. xmax, ymin .. ymax, zmin .. zmax

Выражения с действительным знаком, возможно в параметре анимации. Изображение построено с x в области значений xmin ≤ x ≤ xmax, ymin ≤ y ≤ ymax и zmin ≤ z ≤ zmax.

xmin xmax ymin ymax zmin zmax эквивалентны атрибутам XRangexmin xmax YRange ymin ymax ZRange zmin zmax .

a

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

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

Функции MuPAD

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