Изменение альфа-карты

Каждый рисунок имеет связанную альфа-карту, которая является вектором значений в диапазоне от 0 до 1. Альфа-карта по умолчанию содержит 64 значения в диапазоне линейно от 0 до 1. Просмотрите или измените альфа-карту с помощью Alphamap свойство рисунка или использование alphamap функция.

Альфа-карта по умолчанию

Альфа-карта по умолчанию содержит 64 значения в диапазоне линейно от 0 до 1, как показано на следующем графике.

am = get(gcf,'Alphamap');
plot(am)

Эта альфа-карта отображает самые низкие значения альфа- данных как полностью прозрачные и самые высокие значения альфа- данных как непрозрачные.

alphamap функция создает некоторые полезные предопределенные альфа-карты, а также позволяет изменять существующие карты. Для примера,

figure;
alphamap('vup')

устанавливает рисунок Alphamap свойство альфа-карте, значения которой увеличиваются, затем уменьшаются:

am = get(gcf,'Alphamap');
plot(am)

Можно сдвинуть значения с помощью increase или decrease опции. Для примера,

alphamap('increase',.4)

добавляет значение .4 ко всем значениям в альфа-карте текущей фигуры. Переграфическое изображение 'vup' альфа-карта иллюстрирует изменение. Значения фиксируются в области значений [0 1].

am = get(gcf,'Alphamap');
plot(am)

Пример - Изменение альфа-карты

Этот пример использует плоскости разбиения, чтобы исследовать объемные данные. Эти плоскости разбиения используют данные о цвете для альфа-данных и используют альфа-карту растра (значения области значений от 1 до 0):

  1. Создайте объемные данные путем оценки функции трех переменных.

    [x,y,z] = meshgrid(-1.25:.1:-.25,-2:.2:2,-2:.1:2);
    v = x.*exp(-x.^2-y.^2-z.^2);
    
  2. Создайте плоскости разбиения, установите альфа-данные равными цветовым данным и задайте интерполированную FaceColor и FaceAlpha.

    h = slice(x,y,z,v,[-1 -.75 -.5],[],[0]);
    set(h,'EdgeColor','none',...
    'FaceColor','interp',...
    'FaceAlpha','interp')
    alpha('color')
  3. Установите наклонную альфа-карту и увеличьте каждое значение в альфа-карте на 1, чтобы достичь желаемой степени прозрачности. Задайте hsv палитра.

    alphamap('rampdown')
    alphamap('increase',.1)
    colormap hsv
    

Эта альфа-карта отображает наименьшие значения функции (около нуля) с наименьшей прозрачностью и наибольшими значениями, отображаемыми с наибольшей прозрачностью. Это позволяет вам просматривать плоскости разбиения, сохраняя при этом данные около нуля.

Похожие темы