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::Surface , plot::XRotate , plot::ZRotate |
|
XContours
, YContours
и ZContours
вызывают линии контура на объектах подложки в постоянном x, y или z - значения, соответственно.
Путем установки этих атрибутов много объектов подложки (таких как неявные поверхности, функциональные объекты и т.д.) могут быть проинструктированы, чтобы отобразить линии контура.
Установкой ZContours = [z1, z2, …]
линии контура можно требовать в определенных местах. Это продемонстрировано в Примере 1.
ZContours = [Automatic, n]
заставляет линии контура n быть равномерно распределенными вдоль области значений значений z объекта. Cf. Пример 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)))