Cambio de transparencia de imágenes, parches o superficies
En este ejemplo se muestra cómo modificar la transparencia de las imágenes, los parches y las superficies.
Transparencia de todos los objetos en los ejes
Se hace referencia a los valores de transparencia como valores alfa. Utilice la función alpha
para definir la transparencia de todos los objetos de imágenes, parches o superficies en los ejes actuales. Especifique un valor de transparencia entre 0 (totalmente transparente) y 1 (totalmente opaco).
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)
Transparencia de superficies individuales
La transparencia de una superficie se define mediante su propiedad AlphaData
. Defina los datos alfa como un valor escalar o una matriz de valores especificando la transparencia de cada vértice de la superficie. La propiedad FaceAlpha
indica cómo se determina la transparencia de las caras de la superficie a partir de la transparencia de los vértices.
[X,Y,Z] = peaks(20);
s2 = surf(X,Y,Z);
s2.AlphaData = gradient(Z);
s2.FaceAlpha = 'flat';
Transparencia de imágenes individuales
Al igual que las superficies, la transparencia de una imagen se define mediante su propiedad AlphaData
. Para las imágenes, defina los datos alfa como un valor escalar o una matriz de valores especificando la transparencia de cada elemento de los datos de imágenes.
Por ejemplo, utilice la transparencia para superponer dos imágenes. Primero, muestre la imagen de la Tierra.
earth = imread('landOcean.jpg'); image(earth) axis image
A continuación, añada la capa de nubes a la imagen de la Tierra mediante la transparencia.
clouds = imread('cloudCombined.jpg'); image(earth) axis image hold on im = image(clouds); im.AlphaData = max(clouds,[],3); hold off
Transparencia de parches individuales
La transparencia de un parche se define mediante sus propiedades FaceAlpha
y FaceVertexAlphaData
. Para configurar una transparencia constante en todo el parche, defina FaceVertexAlphaData
en una constante entre 0 (totalmente transparente) y 1 (totalmente opaco) y defina la propiedad FaceAlpha
en 'flat'
.
cla p1 = patch(x,y,'r'); axis square tight p1.FaceVertexAlphaData = 0.2; p1.FaceAlpha = 'flat' ;
Para configurar una transparencia que varíe en todo el parche, defina FaceVertexAlphaData
en una matriz de valores especificando la transparencia en cada vértice o cada cara del parche. La propiedad FaceAlpha
indica cómo las transparencias de las caras se determinan mediante FaceVertexAlphaData
. Si se especifican los datos alfa para los vértices, FaceAlpha
se debe definir en 'interp'
.
p1.FaceVertexAlphaData = x';
p1.FaceAlpha = 'interp';
Transparencia con aplicación de texturas
La aplicación de texturas aplica una imagen en 2D sobre una superficie en 3D. Una imagen se puede aplicar en una superficie definiendo la propiedad CData
en los datos de imágenes y definiendo la propiedad FaceColor
en 'texturemap'
.
En este ejemplo se crea una vista en 3D de la Tierra y las nubes. Se crean superficies esféricas y se utiliza la aplicación de texturas para aplicar las imágenes de la Tierra y las nubes sobre las superficies.
[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
Las imágenes que se utilizan en este ejemplo proceden de Visible Earth.
Agradecimientos: Imagen del NASA Goddard Space Flight Center por Reto Stöckli (superficie terrestre, agua superficial, nubes). Mejoras por Robert Simmon (color del océano, composición, globos en 3D, animación). Datos y soporte técnico: MODIS Land Group; MODIS Science Data Support Team; MODIS Atmosphere Group; MODIS Ocean Group. Datos adicionales: USGS EROS Data Center (topografía); USGS Terrestrial Remote Sensing Flagstaff Field Center (Antártida); Defense Meteorological Satellite Program (iluminación nocturna).