Rgb ::

Преобразуйте цвета HSV в RGB

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

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

Синтаксис

RGB::fromHSV([h, s, v, <a>])

Описание

RGB::fromHSV(HSVcolor) преобразовывает цветные координаты в HSV к соответствующему цвету RGB.

RGB::fromHSV(HSVcolor) является инверсией RGB::toHSV.

Примеры

Пример 1

С утилитой 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]))
):

Пример 2

Существуют многочисленные способы отобразить комплексные функции сложного аргумента. Например, смотрите plot::Conformal. Один из них должен использовать цветовую схему, которая интерпретирует комплексную плоскость как раздел через цветовое пространство HSV в фиксированном значении, например, 1. Чтобы построить эту схему в MuPAD, используйте plot::Density, обеспечивающий следующую функцию управления цветом:

f_color := (x, y, fz, a) ->
           RGB::fromHSV([180/float(PI)*arg(fz), abs(fz), 1]):

Тождественное отображение таким образом показывают можно следующим образом:

plot(plot::Density((x, y) -> x + I*y, x = -1..1, y = -1..1,
                   XMesh = 50, YMesh = 50,
                   FillColorFunction = f_color))

удваивает аргумент комплексной функции, приводящей к следующему изображению:

plot(plot::Density((x, y) -> (x + I*y)^2, x = -1..1, y = -1..1,
                   XMesh = 50, YMesh = 50,
                   FillColorFunction = f_color))

Чтобы построить комплексную синусоидальную функцию, выберите прямоугольник большего размера, потому что синус слишком подобен идентичности в маленьких окружениях источника, чтобы представлять интерес:

plot(plot::Density((x, y) -> sin(x + I*y), x = -2..2, y = -2..2,
                   XMesh = 50, YMesh = 50,
                   FillColorFunction = f_color))

явно прерывисто вдоль отрицательной вещественной оси:

plot(plot::Density((x, y) -> (x + I*y)^(4/3), 
                   x = -1..1, y = -1..1,
                   XMesh = 50, YMesh = 50,
                   FillColorFunction = f_color))

Параметры

a

Полупрозрачность (альфа) значение: численное значение между 0 и 1.

h

“Оттенок” в спецификации HSV: численное значение между 0 и 360

s

“Насыщение” в спецификации HSV: численное значение между 0 и 1

v

“Значение” в спецификации HSV: численное значение между 0 и 1

Возвращаемые значения

Список с тремя или четырьмя значениями с плавающей точкой, в зависимости от того, дан ли a во входе.

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

Функции MuPAD