1、轴中所有对象的透明度透明值称为alpha值。使用alpha函数为当前轴中的所有图像、补丁和曲面对象设置透明度。指定介于0(完全透明)和1(完全不透明)之间的透明度值。命令行键入:t = 0:0.1:2*pi;x = sin(t);y = cos(t);figurepatch(x,y,'r') % make a red circular patchpatch(x+0.8,y,'g') % make a green circular pathpatch(x+0.4,y+0.8,'b') % make a blue circular pathaxis square tight % set axis to squarealpha(0.3) % set all patches transparency to 0.3
2、按“Enter"键。如图1所示。
3、个别表面的透明度一个曲面的透明度是由它的AlphaData属性定义的。将alpha数据设置为标量值或值矩阵,指定曲面的每个顶点的透明度。FaceAlpha属性指示了如何通过顶点透明度来确定曲面的透明度。命令行键入:[X,Y,Z] = peaks(20);s2 = surf(X,Y,Z);s2.AlphaData = gradient(Z); % set vertex transparenciess2.FaceAlpha = 'flat';
4、按“Enter"键。如图2所示。
5、单个图像的透明度与曲面一样,图像的透明度也是由其AlphaData属性定义的。对于图像,将alpha数据设置为标量值或值矩阵,指定图像数据中每个元素的透明度。例如,使用透明度来复盖两个图像。首先,显示地球的图像。命令行键入:earth = imread('landOcean.jpg');image(earth) % display Earth imageaxis image
6、按“Enter"键。如图3所示。
7、然后,添加一个云层到地球的图像使用透明度。命令行键入:clouds = imread('cloudCombined.jpg');image(earth)axis imagehold onim = image(clouds);im.AlphaData = max(clouds,[],3); % set transparency to maximum cloud valuehold off
8、按“Enter"键。如图4所示。
9、个别补丁的透明度一个补丁的透明度是由它的脸型和脸型属性定义的。对于整个补丁中的持续透明性,将FaceVertexAlphaData设置为0(完全透明)和1(完全不透明)之间的常量,并将FaceAlpha属性设置为“平坦”。命令行键入:clap1 = patch(x,y,'r'); % make a red circular patchaxis square tight % set axis to squarep1.FaceVertexAlphaData = 0.2; % Set constant transparencyp1.FaceAlpha = 'flat' ; % Interpolate to find face transparency
10、按“Enter"键。如图5所示。
11、对于在补丁中变化的透明性,将FaceVertexAlphaData设置为值矩阵,指定补丁的每个顶点或每个面的透明性。然后,FaceAlpha属性指示如何使用FaceVertexAlphaData来确定人脸透明度。如果指定了顶点的alpha数据,则FaceAlpha必须设置为“interp”。命令行键入:p1.FaceVertexAlphaData = x'; % Set vertex transparency to x valuesp1.FaceAlpha = 'interp' ; % Interpolate to find face transparency
12、按“Enter"键。如图6所示。
13、透明度与纹理映射纹理映射将二维图像映射到三维表面。通过将CData属性设置为图像数据并将FaceColor属性设置为“纹理贴图”,可以将图像映射到曲面。这个例子创建了一个地球和云的三维视图。它创建球形表面,并使用纹理映射将地球和云的图像映射到表面上。命令行键入:[px,py,pz] = sphere(50); % generate coordinates for a 50 x 50 sphereclasEarth = surface(py, px ,flip(pz));sEarth.FaceColor = 'texturemap'; % set color to texture mappingsEarth.EdgeColor = 'none'; % remove surface edge colorsEarth.CData = earth; % set color datahold onsCloud = surface(px*1.02,py*1.02,flip(pz)*1.02);sCloud.FaceColor = 'texturemap'; % set color to texture mappingsCloud.EdgeColor = 'none'; % remove surface edge colorsCloud.CData = clouds; % set color datasCloud.FaceAlpha = 'texturemap'; % set transparency to texture mappingsCloud.AlphaData = max(clouds,[],3); % set transparency datahold offview([80 2]) % specify viewpointdaspect([1 1 1]) % set aspect ratioaxis off tight % remove axis and set limits to data range
14、按“Enter"键。如图7所示。