plot::Raster

Растровый график

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

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

Синтаксис

plot::Raster(A, options)
plot::Raster(A, x = xmin .. xmax, y = ymin .. ymax, <a = amin .. amax>, options)
plot::Raster(L, options)
plot::Raster(L, x = xmin .. xmax, y = ymin .. ymax, <a = amin .. amax>, options)

Описание

plot::Raster(A, x = xmin..xmax, y = ymin..ymax) переводит матричный A значений RGB в регулярную 2D сетку прямоугольного расширения от левого нижнего угла (xminymin ) к правому верхнему углу (xmaxymax ). Прямоугольники окрашены согласно цветным записям в A.

plot::Raster подачи для генерации 2D растровых объектов, таких как битовые массивы. Внешние растровые данные могут быть импортированы к сеансу MuPAD® через import::readbitmap. Полученный массив значений цвета может быть передан непосредственно plot::Raster встроить импортированное растровое изображение в 2D сцену MuPAD.

Когда значения цвета заданы массивом или матричным A, низкие индексы соответствуют левому нижнему углу графики. Высокие индексы соответствуют правому верхнему углу.

Примечание

Обратите внимание на то, что растровые данные большинства стандартных графических форматов хранятся в обычном Западном порядке чтения: первые пиксели соответствуют левому верхнему углу, последние пиксели соответствуют правому нижнему углу. Служебный import::readbitmap производит массив, в котором первый элемент соответствует левому нижнему углу. Растровые данные импортировали этот путь, может быть передан непосредственно plot::Raster.

Массивы/матрицы не должны быть индексированы от 1. Например,

A = array( imin..imax, jmin..jmax, [..RGB values..])

дает к графическому массиву с

XMesh = jmax - jmin + 1, YMesh = imax - imin + 1.

Если никакая область значений графика xmin..xmax, ymin..ymax задан,

xmin = jmin - 1, xmax = jmax, ymin = imin - 1, ymax = imax

используется.

Когда значения цвета заданы списком списков L, первые записи в списке соответствуют левому нижнему углу графики. Последние записи соответствуют правому верхнему углу.

Если никакая область значений графика xmin..xmax, ymin..ymax задан,

xmin = 0, xmax = m, ymin = 0, ymax = n

используется, где n является длиной L, и m является (общей) длиной подсписков в L. Все подсписки (“строки”) должны иметь ту же длину.

Анимации инициированы путем указания диапазона a = amin .. amax для параметра a это отличается от переменных xY. Таким образом, в анимациях, оба области значений x = xmin..xmax, y = ymin..ymax а также анимация располагается a = amin..amax должен быть задан.

Связанная стандартная программа графика plot::Density обеспечивает схожую функциональность, предлагающую автоматическую цветовую схему на основе значений скалярной плотности.

Атрибуты

АтрибутЦельЗначение по умолчанию
AffectViewingBoxвлияние объектов на ViewingBox из сценыTRUE
AntiAliasedсглаженные линии и точки?FALSE
Colorосновной цветRGB::Blue
ColorDataзначения цвета растрового графика 
Framesколичество систем координат в анимации50
Legendделает запись легенды 
LegendTextкороткий объяснительный текст для легенды 
LegendEntryдобавить этот объект в легенду?FALSE
LineColorцвет линийRGB::Blue
LineWidthширина линий0.35
LineStyleтело, подчеркнутые штриховой линией или пунктирные линии?Solid
LinesVisibleвидимость линийFALSE
Meshколичество точек выборки[11, 11]
Nameимя объекта графика (для браузера и легенды) 
ParameterEndзакончите значение параметра анимации 
ParameterNameимя параметра анимации 
ParameterBeginначальное значение параметра анимации 
ParameterRangeобласть значений параметра анимации 
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 компонент 
VisibleвидимостьTRUE
VisibleAfterобъект, видимый после этой временной стоимости 
VisibleBeforeобъект, видимый до этой временной стоимости 
VisibleFromToобъект, видимый в это время, располагается 
VisibleAfterEndобъект, видимый после его законченного времени анимации?TRUE
VisibleBeforeBeginобъект, видимый перед его временем анимации, запускается?TRUE
XMaxокончательное значение параметра “x” 
XMeshколичество точек выборки для параметра “x”11
XMinначальное значение параметра “x” 
XNameимя параметра “x” 
XRangeобласть значений параметра “x” 
YMaxокончательное значение параметра “y” 
YMeshколичество точек выборки для параметра “y”11
YMinначальное значение параметра “y” 
YNameимя параметра “y” 
YRangeобласть значений параметра “y” 

Примеры

Пример 1

Мы генерируем растровый график:

checkerboard:= array(1..8, 1..8):
for i from 1 to 8 do
 for j from 1 to 8 do
    if i + j mod 2 = 0 then
      checkerboard[i,j] := RGB::Black;
    else
      checkerboard[i,j] := RGB::White;
    end_if;
 end_for:
end_for:
p := plot::Raster(checkerboard):

Объект графика представляется:

plot(p):

delete checkerboard, p:

Пример 2

Мы импортируем внешний растровый файл:

[width, height, colordata] := import::readbitmap("Eva.jpeg"):

Массив colordata может быть передан непосредственно plot::Raster:

scenewidth:= 80*unit::mm:
sceneheight:= height/width*scenewidth:
plot(plot::Raster(colordata), 
     Width  = scenewidth,
     Height = sceneheight,
     Footer = "This is Eva"):

delete width, height, colordata, scenewidth, sceneheight:

Пример 3

Это - Том:

[widthT, heightT, Tom] :=
       import::readbitmap("Tom.jpeg", ReturnType = DOM_ARRAY):
plot(plot::Raster(Tom), Width = widthT/3, Height = heightT/3):

Это - Джерри:

[widthJ, heightJ, Jerry] :=
       import::readbitmap("Jerry.jpeg", ReturnType = DOM_ARRAY):
plot(plot::Raster(Jerry), Width = widthT/3, Height = heightT/3):

Несмотря на то, что они выглядят по-другому, они топологически эквивалентны. Мы демонстрируем это путем деформации Тома Джерри с помощью сглаженной карты (1 - a)  T + aJ, a ∈ [0, 1]:

blend := (T, J, a) -> zip(T, J, (t,j) -> (1-a)*t + a*j):
Tom2Jerry:= array(1..heightT, 1..widthT):
for i from 1 to heightT do
  for j from 1 to widthT do
    Tom2Jerry[i, j]:= blend(Tom[i, j], Jerry[i, j], a):
  end_for:
end_for:

Следующий вызов производит анимированный график деформации. Обратите внимание на то, что x и области значений y должны быть заданы для анимации:

plot(plot::Raster(Tom2Jerry, 
                  x = 1..widthT,
                  y = 1..heightT,
                  a = 0..1, Frames = 10,
                  Footer = "Tom & Jerry"),
     Width = widthT/3, Height = heightT/3):

Это - среднее арифметическое Тома и Джерри:

plot(plot::Raster(map(subs(Tom2Jerry, a = 0.5), eval)), 
     Footer = "(Tom + Jerry)/2", FooterFont = [12],
     Width = widthT/3, Height = heightT/3):

Параметры

A

Массив доменного типа DOM_ARRAY или матрица категории Cat::Matrix (например, типа matrix или densematrix) обеспечение RGB значения или цветные выражения параметра анимации a. Строки/столбцы массива, соответственно матрица, соответствуют строкам/столбцам графического массива.

A эквивалентно атрибуту ColorData.

L

Список списков RGB значения или цветные выражения параметра анимации a. Каждый подсписок L представляет строку графического массива.

L эквивалентно атрибуту ColorData.

x

Имя горизонтальной переменной: идентификатор или индексируемый идентификатор. Это используется в качестве заголовка координатной оси в направлении x.

x эквивалентно атрибуту XName.

xmin .. xmax

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

xmin xmax эквивалентно атрибутам XRangexmin xmax .

y

Имя вертикальной переменной: идентификатор или индексируемый идентификатор. Это используется в качестве заголовка координатной оси в направлении y.

y эквивалентно атрибуту YName.

ymin .. ymax

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

ymin ymax эквивалентно атрибутам YRangeymin ymax .

a

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

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

Функции MuPAD

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