XContours, YContours, ZContoursЛинии контура в постоянных x значениях
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразуют Notebook MuPAD в Live скрипты MATLAB.
XContours, YContours, ZContours | Дополнительный | Список арифметических выражений |
| Объекты | Значения по умолчанию |
|---|---|
plot::Implicit3d |
|
plot::Cylindrical, plot::Function3d, plot::SphericalПоверхность графика, plot::XRotate, plot::ZRotate |
|
XContours, YContours, и ZContours вызовите линии контура на объектах подложки в постоянном x, y или z - значения, соответственно.
Путем установки этих атрибутов много объектов подложки (таких как неявные поверхности, функциональные объекты и т.д.) могут быть проинструктированы, чтобы отобразить линии контура.
Установкой ZContours = [z1, z2, …], линии контура можно требовать в определенных местах. Это продемонстрировано в Примере 1.
ZContours = [Automatic, n] причины линии контура n, которые будут равномерно распределены вдоль области значений значений z объекта. См. Пример 2.
График функций высотой использования по умолчанию, окрашивающей и линиями mesh, чтобы улучшить отображение. С отключенными линиями mesh высота, окрашивающая, часто все еще достаточна:
plotfunc3d(sin(x+cos(0.3*y))*cos(y),
XLinesVisible=FALSE, YLinesVisible=FALSE,
CameraDirection=[0,0.01,1])
Чтобы получить лучшее впечатление глубины, это помогло бы в этом примере добавить линии контура:
plotfunc3d(sin(x+cos(0.3*y))*cos(y),
ZContours=[$ -1..1 step 0.25],
XLinesVisible=FALSE, YLinesVisible=FALSE,
CameraDirection=[0,0.01,1])
В предыдущем примере мы устанавливаем значения z для линий контура явным образом. Существует более легкий способ задать равноотстоящие линии, тем не менее, путем предоставления специальному значению Automatic, сопровождаемый количеством линий, чтобы использовать. Например, неявные поверхности использованием по умолчанию 15 линий в каждом направлении пробела:
plot(plot::Implicit3d(abs(x)^3+abs(y)^3+abs(z)^3 - 1,
x = -1..1, y=-1..1, z=-1..1),
Axes = None, Scaling = Constrained)
Чтобы изменить количество линий, мы используем синтаксис, обрисованный в общих чертах выше:
plot(plot::Implicit3d(abs(x)^3+abs(y)^3+abs(z)^3 - 1,
x = -1..1, y=-1..1, z=-1..1,
XContours = [Automatic, 4],
YContours = [Automatic, 11],
ZContours = [Automatic, 21]),
Axes = None, Scaling = Constrained)
Обратите внимание на то, что две из линий в экстремальных значениях и поэтому обычно не видимы.
Линии контура чертятся с помощью тех же настроек в LineWidth и LineColor когда линии параметра. В следующем примере мы используем модифицированную копию функционального объекта, который только отображает линии контура, но с настройками, отличающимися от соответствующего функционального объекта.
f := plot::Function3d(x^2 - 2*x*y - y^2, x = -2..2, y = -2..2):
plot(f, plot::modify(f, ZContours = [Automatic, 15],
LineWidth = 1,
LineColor = RGB::Gray30.[0.8],
XLinesVisible = FALSE,
YLinesVisible = FALSE,
Filled = FALSE))
При помощи преобразования, которое сопоставляет пробел в плоскость, мы можем использовать этот метод (путем установки еще некоторых опций), чтобы отобразить линии контура цвета высоты ниже графика функций:
f := plot::Function3d(8*sin(x-cos(y))+(x^2+x*y),
x = -3..3, y = -3..3, Submesh=[2,2]):
plot(f, plot::Transform3d([0, 0, -9], [1, 0, 0, 0, 1, 0, 0, 0, 0],
plot::modify(f, ZContours = [Automatic, 15],
LineWidth = 0.5,
LineColorType = Dichromatic,
LineColor = RGB::Red,
LineColor2 = RGB::CornflowerBlue,
XLinesVisible = FALSE,
YLinesVisible = FALSE,
Filled = FALSE)))