Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
Самым видным атрибутом графика, доступным для всех примитивов, является Color
. Библиотека MuPAD® plot
знает 3 различных типов цветов:
Атрибут PointColor
относится к цвету точек в 2D и 3D (типа plot::Point2d
и plot::Point3d
, соответственно).
Атрибут LineColor
относится к цвету объектов линии в 2D и 3D. Это включает цвет function graphs in 2D
, curves in 2D
и in 3D
, polygon lines in 2D
и in 3D
, и т.д. Также 3D объекты, такие как function graphs in 3D
, parametrized surfaces
и т.д. реагирует на атрибут LineColor
; это задает цвет координатных строк mesh, которые отображены на поверхности.
Атрибут FillColor
относится к цвету закрытых и заполнил полигоны, 2D и 3D, а также hatched regions
в 2D. Далее, это выбирает поверхностный цвет function graphs in 3D
, parametrized surfaces
и т.д. Это включает spheres
, cones
и т.д.
Примитивы также принимают атрибут Color
как ярлык для любого из этих цветов. В зависимости от примитива или PointColor
, LineColor
или FillColor
установлены с атрибутом Color
.
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)
Кроме модели 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])) ):