La traducción de esta página está obsoleta. Haga clic aquí para ver la última versión en inglés.
En este ejemplo se muestra cómo modificar la transparencia de las imágenes, los parches y las superficies.
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') % 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
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); % set vertex transparencies s2.FaceAlpha = 'flat';
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) % display Earth image 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); % set transparency to maximum cloud value hold off
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'); % 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
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'; % Set vertex transparency to x values p1.FaceAlpha = 'interp' ; % Interpolate to find face transparency
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); % 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
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).