В этом примере показано, как изменить прозрачность изображений, закрашенных фигур и поверхностей.
Значения прозрачности упоминаются как альфа-значения. Используйте alpha
функционируйте, чтобы установить прозрачность для всего изображения, закрашенной фигуры и объектов подложки в текущей системе координат. Задайте значение прозрачности между 0 (полностью прозрачный) и 1 (полностью непрозрачный).
t = 0:0.1:2*pi; x = sin(t); y = cos(t); figure patch(x,y,'r') patch(x+0.8,y,'g') patch(x+0.4,y+0.8,'b') axis square tight alpha(0.3)
Прозрачность поверхности задана ее AlphaData
свойство. Установите альфа-данные или как скалярное значение или как матрицу значений, задающих прозрачность каждой вершины поверхности. FaceAlpha
свойство указывает, как прозрачность поверхностных поверхностей определяется из прозрачности вершины.
[X,Y,Z] = peaks(20);
s2 = surf(X,Y,Z);
s2.AlphaData = gradient(Z);
s2.FaceAlpha = 'flat';
Как поверхности, прозрачность изображения также задана его AlphaData
свойство. Для изображений, набор альфа-данные или как скалярное значение или как матрица значений, задающих прозрачность каждого элемента в данных изображения.
Например, используйте прозрачность, чтобы наложить два изображения. Во-первых, отобразите изображение Земли.
earth = imread('landOcean.jpg'); image(earth) axis image
Затем добавьте слой облака в изображение Земли с помощью прозрачности.
clouds = imread('cloudCombined.jpg'); image(earth) axis image hold on im = image(clouds); im.AlphaData = max(clouds,[],3); hold off
Прозрачность закрашенной фигуры задана ее FaceAlpha
и FaceVertexAlphaData
свойства. Для постоянной прозрачности через целую закрашенную фигуру, набор FaceVertexAlphaData
к константе между 0 (полностью прозрачный) и 1 (полностью непрозрачный), и набор FaceAlpha
свойство к 'flat'
.
cla p1 = patch(x,y,'r'); axis square tight p1.FaceVertexAlphaData = 0.2; p1.FaceAlpha = 'flat' ;
Для прозрачности, которая варьируется через закрашенную фигуру, устанавливает FaceVertexAlphaData
к матрице значений, задающих прозрачность в каждой вершине или каждой поверхности закрашенной фигуры. FaceAlpha
свойство затем указывает, как диапозитивы поверхности определяются с помощью FaceVertexAlphaData
. Если альфа-данные заданы для вершин, FaceAlpha
должен быть установлен в 'interp'
.
p1.FaceVertexAlphaData = x';
p1.FaceAlpha = 'interp';
Отображение текстур сопоставляет 2D изображение на 3-D поверхность. Изображение может быть сопоставлено с поверхностью путем установки CData
свойство к данным изображения и установке FaceColor
свойство быть 'texturemap'
.
Этот пример создает 3-D представление земли и облаков. Это создает сферические поверхности и использует отображение текстур, чтобы сопоставить изображения земли и облаков на поверхности.
[px,py,pz] = sphere(50); sEarth = surface(py, px ,flip(pz)); sEarth.FaceColor = 'texturemap'; sEarth.EdgeColor = 'none'; sEarth.CData = earth; hold on sCloud = surface(px*1.02,py*1.02,flip(pz)*1.02); sCloud.FaceColor = 'texturemap'; sCloud.EdgeColor = 'none'; sCloud.CData = clouds; sCloud.FaceAlpha = 'texturemap'; sCloud.AlphaData = max(clouds,[],3); hold off view([80 2]) daspect([1 1 1]) axis off tight
Изображения, используемые в этом примере, от Видимой Земли.
Кредит: НАСА Изображение Центра космических полетов имени Годдарда Reto Stöckli (поверхность земли, мелководье, облака). Улучшения Робертом Симмоном (океанский цвет, составление композита, 3D земные шары, анимация). Информационная поддержка и техническая поддержка: MODIS Land Group; Научная Команда Информационной поддержки MODIS; MODIS Atmosphere Group; MODIS Ocean Group Дополнительные данные: Дата-центр EROS USGS (топография); USGS Наземный Полевой Центр Флагштока Дистанционного зондирования (Антарктида); Защита Метеорологическая Спутниковая Программа (городские световые сигналы).