Цвета

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

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

Самым видным атрибутом графика, доступным для всех примитивов, является Color. MuPAD® plot библиотека знает 3 различных типов цветов:

Примитивы также принимают атрибут Color как ярлык для любого из этих цветов. В зависимости от примитива, любого PointColor'LineColor' , или FillColor установлен с Color атрибут.

Цвета RGB

MuPAD использует модель цветов RGB, т.е. цвета заданы списками [r, g, b] из красных, зеленых, и синих значений между 0 и 1. Черный и белый соответствуют to[0, 0, 0] и [1, 1, 1], соответственно. Библиотека RGB содержит многочисленные названия цвета с соответствующими значениями RGB:

RGB::Black, RGB::White, RGB::Red, RGB::SkyBlue

Можно перечислить все названия цвета, доступные в RGB библиотека через info(RGB). В качестве альтернативы существует команда RGB::ColorNames() возврат полного списка имен, опционально отфильтрованных. Например, давайте перечислим все цвета, имена которых содержат “Красный”:

RGB::ColorNames(Red)

Чтобы отобразить их, использовать

RGB::plotColorPalette("red")

После загрузки библиотеки цветов через use(RGB), можно использовать названия цвета в краткой форме Black, White, IndianRed и т.д.

В MuPAD цвет всех графических элементов может или быть задан RGB или значениями RGBa.

Значения цвета RGBa состоят из списков [r, g, b, a] содержа четвертую запись: значение “непрозрачности” a между 0 и 1. Для a = 0, поверхностная закрашенная фигура, окрашенная этим цветом RGBa, полностью прозрачна (т.е. невидима). Для a = 1, поверхностная закрашенная фигура непрозрачна, т.е. она скрывает объекты графика, которые находятся позади нее. Для 0 <a <1, поверхностная закрашенная фигура является полупрозрачной, т.е. объекты графика позади него “сияние через”.

Значения цвета RGBa могут быть созданы легко через RGB библиотека. Одно единственное должно добавить четвертую запись в [r, g, b] списки, предоставленные названиями цвета. Самый легкий способ сделать это должно добавить список [a] к RGB перечисляют через оператор конкатенации ‘.’. Мы создаем полупрозрачный 'серый':

RGB::Grey.[0.5]

Следующая команда строит очень прозрачное красное поле, содержа несколько менее прозрачное зеленое поле с непрозрачным синим полем внутри:

plot(
  plot::Box(-3..3, -3..3, -3..3, FillColor = RGB::Red.[0.2]),
  plot::Box(-2..2, -2..2, -2..2, FillColor = RGB::Green.[0.3]),
  plot::Box(-1..1, -1..1, -1..1, FillColor = RGB::Blue),
  LinesVisible = TRUE, LineColor = RGB::Black,
  Scaling = Constrained
):

В следующем примере мы строим точки, случайным образом распределенные с произвольными цветами и случайным translucencies:

plot(plot::PointList2d([[frandom() $ i = 1..2, 
                         [frandom() $ i = 1..4]] 
                       $ i = 1..300],
                       PointSize=4),
     Axes=None, Scaling=Constrained)

HSV-цвета

Кроме модели RGB, существуют различные другие популярные цветные форматы, используемые в компьютерной графике. Каждый - модель HSV (Оттенок, Насыщение, Значение). RGB библиотека предоставляет стандартным программам RGB::fromHSV и RGB::toHSV преобразовывать HSV-цвета в RGB окрашивает и наоборот:

hsv := RGB::toHSV(RGB::Orange)

RGB::fromHSV(hsv) = RGB::Orange

С RGB::fromHSV утилита, все раскрашивает график MuPAD, может быть задан легко, когда HSV окрашивает. Например, 'фиолетовый' цвет дан HSV-значениями [290, 0.4, 0.6], тогда как 'темно-зеленый' дан HSV-спецификацией [120, 1, 0.4]. Следовательно, полупрозрачная фиолетовая сфера, пересеченная непрозрачной темно-зеленой плоскостью, может быть задана можно следующим образом:

plot(plot::Sphere(1, [0, 0, 0], 
                  Color = RGB::fromHSV([290, 0.4, 0.6]).[0.5]),
     plot::Surface([x, y, 0.5], x = -1..1, y = -1..1, 
                   Mesh = [2, 2],
                   Color = RGB::fromHSV([120, 1, 0.4]))
):

Для просмотра документации необходимо авторизоваться на сайте