Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

이미지, 패치, 곡면의 투명도 변경

이 예제에서는 이미지, 패치, 곡면의 투명도를 수정하는 방법을 보여줍니다.

좌표축에 있는 모든 객체의 투명도

투명도 값은 알파 값이라고 합니다. alpha 함수를 사용하여 현재 좌표축에 있는 모든 image 객체, patch 객체, surface 객체의 투명도를 설정할 수 있습니다. 투명도 값을 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

Figure contains an axes. The axes contains 3 objects of type patch.

개별 곡면의 투명도

곡면의 투명도는 surface의 AlphaData 속성으로 정의됩니다. 알파 데이터를 스칼라 값이나 곡면의 각 꼭짓점 투명도를 지정하는 값의 행렬로 설정합니다. FaceAlpha 속성은 꼭짓점 투명도로부터 곡면의 투명도를 결정하는 방식을 나타냅니다.

[X,Y,Z] = peaks(20);
s2 = surf(X,Y,Z);

s2.AlphaData = gradient(Z);    % set vertex transparencies
s2.FaceAlpha = 'flat';

Figure contains an axes. The axes contains an object of type surface.

개별 이미지의 투명도

곡면과 마찬가지로, 이미지의 투명도도 image의 AlphaData 속성으로 정의됩니다. 이미지의 경우에는 알파 데이터를 스칼라 값이나 이미지 데이터의 각 요소 투명도를 지정하는 값의 행렬로 설정합니다.

예를 들어, 투명도를 사용하여 두 개의 이미지를 겹쳐 보겠습니다. 먼저, 지구 이미지를 표시합니다.

earth = imread('landOcean.jpg');
image(earth)    % display Earth image
axis image

Figure contains an axes. The axes contains an object of type 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

Figure contains an axes. The axes contains 2 objects of type image.

개별 패치의 투명도

patch의 투명도는 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

Figure contains an axes. The axes contains an object of type patch.

투명도를 같은 패치에서 서로 다르게 지정하려면 FaceVertexAlphaData를 패치의 각 꼭짓점이나 각 면의 투명도를 지정하는 값으로 구성된 행렬로 설정하십시오. 이때 FaceAlpha 속성은 FaceVertexAlphaData를 사용하여 면의 투명도가 결정되는 방식을 나타냅니다. 꼭짓점에 대해 알파 데이터가 지정된 경우 FaceAlpha'interp'로 설정되어야 합니다.

p1.FaceVertexAlphaData = x';   % Set vertex transparency to x values
p1.FaceAlpha = 'interp' ;      % Interpolate to find face transparency

Figure contains an axes. The axes contains an object of type patch.

텍스처 매핑을 포함하는 투명도

텍스처 매핑은 2차원 이미지를 3차원 곡면 위에 매핑합니다. CData 속성을 이미지 데이터로 설정하고 FaceColor 속성을 'texturemap'으로 설정하여 이미지를 곡면에 매핑할 수 있습니다.

이 예제에서는 지구와 구름의 3차원 보기를 만듭니다. 구면(Spherical Surface)을 만들고 텍스처 매핑을 사용하여 지구와 구름 이미지를 곡면 위에 매핑합니다.

[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

이 예제에 사용된 이미지는 Visible Earth에서 제공받은 것입니다.

출처: NASA 고더드 우주 비행 센터(NASA Goddard Space Flight Center) 이미지, Reto Stöckli 제공(지표면, 천해, 구름). 보강: Robert Simmon 제공(해수색, 합성 자료, 3차원 지구본, 애니메이션). 데이터 및 기술 지원: MODIS Land Group, MODIS Science Data Support Team, MODIS Atmosphere Group, MODIS Ocean Group 추가 데이터: USGS EROS Data Center(지형), USGS Terrestrial Remote Sensing Flagstaff Field Center(남극 대륙), Defense Meteorological Satellite Program(도시 조명).

참고 항목

| |