график::

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

Блокноты 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 сетку прямоугольного расширения от левого нижнего угла (xmin, ymin) к правому верхнему углу (xmax, ymax). Прямоугольники окрашены согласно цветным записям в 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, который отличается от переменных x, y. Таким образом, в анимациях, оба области значений 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

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

xmin .. xmax эквивалентен атрибутам XRange, XMin, XMax.

y

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

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

ymin .. ymax

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

ymin .. ymax эквивалентен атрибутам YRange, YMin, YMax.

a

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

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

Функции MuPAD

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