Этот пример показывает, как изменить прозрачность изображений, закрашенных фигур и поверхностей.
Значения прозрачности упоминаются как альфа-значения. Используйте функцию alpha
, чтобы установить прозрачность для всего изображения, закрашенной фигуры и объектов подложки в текущей системе координат. Задайте значение прозрачности между 0 (полностью прозрачный) и 1 (полностью непрозрачный).
t = 0:0.1:2*pi; x = sin(t); y = cos(t); figure patch(x,y,'r') % make a red circular patch patch(x+0.8,y,'g') % make a green circular path patch(x+0.4,y+0.8,'b') % make a blue circular path axis square tight % set axis to square alpha(0.3) % set all patches transparency to 0.3
Прозрачность поверхности задана ее свойством AlphaData
. Установите альфа-данные или как скалярное значение или как матрицу значений, задающих прозрачность каждой вершины поверхности. Свойство FaceAlpha
указывает, как прозрачность поверхностных поверхностей определяется от прозрачности вершины.
[X,Y,Z] = peaks(20); s2 = surf(X,Y,Z); s2.AlphaData = gradient(Z); % set vertex transparencies s2.FaceAlpha = 'flat';
Как поверхности, прозрачность изображения также задана его свойством AlphaData
. Для изображений, набор альфа-данные или как скалярное значение или как матрица значений, задающих прозрачность каждого элемента в данных изображения.
Например, используйте прозрачность, чтобы наложить два изображения. Во-первых, отобразите изображение Земли.
earth = imread('landOcean.jpg'); image(earth) % display Earth image axis image
Затем добавьте уровень облака к изображению Земли с помощью прозрачности.
clouds = imread('cloudCombined.jpg'); image(earth) axis image hold on im = image(clouds); im.AlphaData = max(clouds,[],3); % set transparency to maximum cloud value hold off
Прозрачность закрашенной фигуры задана ее свойствами FaceAlpha
и FaceVertexAlphaData
. Для постоянной прозрачности через целую закрашенную фигуру, набор FaceVertexAlphaData
к константе между 0 (полностью прозрачный) и 1 (полностью непрозрачный), и набор свойство FaceAlpha
к 'flat'
.
cla p1 = patch(x,y,'r'); % make a red circular patch axis square tight % set axis to square p1.FaceVertexAlphaData = 0.2; % Set constant transparency p1.FaceAlpha = 'flat' ; % Interpolate to find face transparency
Для прозрачности, которая отличается через закрашенную фигуру, устанавливает FaceVertexAlphaData
на матрицу значений, задающих прозрачность в каждой вершине или каждой поверхности закрашенной фигуры. Свойство FaceAlpha
затем указывает, как диапозитивы поверхности определяются с помощью FaceVertexAlphaData
. Если альфа-данные заданы для вершин, FaceAlpha
должен быть установлен в 'interp'
.
p1.FaceVertexAlphaData = x'; % Set vertex transparency to x values p1.FaceAlpha = 'interp' ; % Interpolate to find face transparency
Отображение текстур сопоставляет 2D изображение на 3-D поверхность. Изображение может быть сопоставлено с поверхностью путем установки свойства CData
на данные изображения и установки свойства FaceColor
быть 'texturemap'
.
Этот пример создает 3-D представление земли и облаков. Это создает сферические поверхности и использует отображение текстур, чтобы сопоставить изображения земли и облаков на поверхности.
[px,py,pz] = sphere(50); % generate coordinates for a 50 x 50 sphere cla sEarth = surface(py, px ,flip(pz)); sEarth.FaceColor = 'texturemap'; % set color to texture mapping sEarth.EdgeColor = 'none'; % remove surface edge color sEarth.CData = earth; % set color data hold on sCloud = surface(px*1.02,py*1.02,flip(pz)*1.02); sCloud.FaceColor = 'texturemap'; % set color to texture mapping sCloud.EdgeColor = 'none'; % remove surface edge color sCloud.CData = clouds; % set color data sCloud.FaceAlpha = 'texturemap'; % set transparency to texture mapping sCloud.AlphaData = max(clouds,[],3); % set transparency data hold off view([80 2]) % specify viewpoint daspect([1 1 1]) % set aspect ratio axis off tight % remove axis and set limits to data range
Изображения, используемые в этом примере, от Видимой Земли.
Кредит: НАСА Изображение Центра космических полетов имени Годдарда Reto Stöckli (поверхность земли, мелководье, облака). Улучшения Робертом Симмоном (океанский цвет, составление композита, 3D земные шары, анимация). Информационная поддержка и техническая поддержка: MODIS Land Group; Научная Команда Информационной поддержки MODIS; MODIS Atmosphere Group; MODIS Ocean Group Дополнительные данные: Дата-центр EROS USGS (топография); USGS Наземный Полевой Центр Флагштока Дистанционного зондирования (Антарктида); Защита Метеорологическая Спутниковая Программа (городские световые сигналы).