Scaling, YXRatio, ZXRatio

Масштабные коэффициенты

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

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

Сводные данные значения

ScalingНаследованныйAutomatic, Constrained или Unconstrained
YXRatio, ZXRatioНаследованныйПоложительный действительный numberReal номер

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

ОбъектыЗначения по умолчанию
plot::CoordinateSystem2d, plot::CoordinateSystem3d

Масштабирование: Unconstrained

plot::Scene3d

YXRatio: 1

ZXRatio: 2/3

Описание

С Scaling = Constrained вывод графических данных масштабируется как образцовые координаты, т.е. круг появляется как круги, сферы как сферы.

С Scaling = Unconstrained вывод графических данных масштабируется независимо в каждом координатном направлении, таким образом, что графика соответствует оптимально области просмотра. Круги могут появиться как замещающие знаки, сферы как эллипсоиды.

Для Scaling = Unconstrained масштабные коэффициенты различных координатных направлений в 3D графике могут быть установлены через атрибуты YXRatio и ZXRatio.

Если графика состоит из геометрических объектов, таких как круги, круговые диаграммы, сферы и т.д., установка Scaling = Constrained является соответствующей. Это препятствует тому, чтобы круги были деформированы к замещающим знакам в выводе графических данных.

Для визуализации негеометрических данных (обычно, в графиках функций и т.д.), масштабирование, ограниченное к образцовым координатам, является обычно не соответствующим. Думайте о графике y = e x для, где значения y расширяют в области значений, которая является примерно. С Scaling = Constrained вывод графических данных состоял бы из узкой вертикальной полосы с отношением стороны y : x = 22025 : 10. Здесь, Scaling = Unconstrained является соответствующим.

Значением по умолчанию является Scaling = Unconstrained. Однако много “геометрических” объектов в библиотеке MuPAD® plot заменяют эту настройку по умолчанию с помощью “механизма подсказки” (см. раздел Primitives Requesting Special Scene Атрибуты: “Подсказки” в этом документе). Каждый раз, когда такой объект построен в сцене, целая сцена использует Scaling = Constrained. Полный список этих “геометрических объектов”, таких как круги, сферы, конусы и т.д. даны далее на этой странице справки.

С Scaling = Automatic графика использует Scaling = Constrained для графиков, в которых координатные области значений быть отображенными имеют отношение близко к 1 : 1 в 2D или 1 : 1 : 1 в 3D. В противном случае Scaling = Unconstrained используется.

Атрибуты YXRatio = r1 и ZXRatio = r2 только имеют эффект в 3D с Scaling = Unconstrained. Графическая сцена масштабируется к полю с отношениями стороны z : y : x = r2: r1: 1. На экране ограничительная рамка сцены похожа на поле с этими отношениями стороны.

Примеры

Пример 1

Мы строим сцену, содержащую функциональный график и некоторые круги, подсвечивающие экстремальное значение. Поскольку круг отправляет “подсказке” Scaling = Constrained, это масштабирование используется для целой сцены. Следовательно, круги появляются как круги:

plot(plot::Function2d(sin(x), x = 0 .. 2*PI),
     plot::Circle2d(0.2, [PI/2, 1], Color = RGB::Black),
     plot::Circle2d(0.2, [3*PI/2, -1], Color = RGB::Black),
     BorderWidth = 1.0*unit::mm,
     Header = "Scaling = Constrained")

С Scaling = UnConstrained мы получаем лучший припадок графика в холсте. Однако круги деформированы к замещающим знакам:

plot(plot::Function2d(sin(x), x = 0 .. 2*PI),
     plot::Circle2d(0.2, [PI/2, 1], Color = RGB::Black),
     plot::Circle2d(0.2, [3*PI/2, -1], Color = RGB::Black),
     Scaling = Unconstrained, BorderWidth = 1.0*unit::mm,
     Header = "Scaling = Unconstrained")

Пример 2

Сфера типа plot::Sphere отправляет “подсказке” Scaling = Constrained. С этим масштабированием, YXRatio, ZXRatio не имеет никакого эффекта:

s := plot::Sphere(1, [0, 0, 0]):
plot(s, BorderWidth = 0.5*unit::mm, 
     Header = "Scaling = Constrained",
     YXRatio = 3, ZXRatio = 10)

Мы используем Scaling = Unconstrained. Со значениями по умолчанию YXRatio = 1, ZXRatio = 2/3, объекты в 3D сцене отображены как поле с отношениями стороны X : Y : Z = 3 : 3 : 2:

plot(s, BorderWidth = 0.5*unit::mm, 
     Scaling = Unconstrained, Header = "X:Y:Z = 3:3:2")

Мы запрашиваем различные масштабные коэффициенты:

plot(s, BorderWidth = 0.5*unit::mm, Header = "X:Y:Z = 5:5:1",
     Scaling = Unconstrained, YXRatio = 1, ZXRatio = 1/5, 
     BorderWidth = 0.5*unit::mm)

plot(s, BorderWidth = 0.5*unit::mm, Header = "X:Y:Z = 7:3:1",
     Scaling = Unconstrained, YXRatio = 3/7, ZXRatio = 1/7, 
     BorderWidth = 0.5*unit::mm)

delete s: