イメージ、パッチまたは表面の透明度の変更
この例では、イメージ、パッチおよび表面の透明度を変更する方法を示します。
座標軸のすべてのオブジェクトの透明度
透明度の値をアルファ値といいます。関数 alpha
を使用して、現在の座標軸内のすべての image、patch、および surface オブジェクトの透明度を設定します。透明度には 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
プロパティによって定義されます。イメージの場合、イメージ データの各要素の透明度を指定するスカラー値または値の行列としてアルファ データを設定します。
たとえば、透明度を使用して 2 つのイメージを重ね合わせます。最初に、地球のイメージを表示します。
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';
テクスチャ マッピングでの透明度
テクスチャ マッピングでは、2 次元のイメージが 3 次元の表面にマップされます。CData
プロパティをイメージ データに設定し、FaceColor
プロパティを 'texturemap'
に設定することで、イメージを表面にマップできます。
この例では、地球と雲の 3 次元表示を作成します。球面を作成し、テクスチャ マッピングを使用して地球と雲のイメージを表面にマップします。
[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
この例で使用するイメージは、Visible Earth から提供されたものです。
Credit: NASA Goddard Space Flight Center Image by Reto Stöckli (land surface, shallow water, clouds). Enhancements by Robert Simmon (ocean color, compositing, 3D globes, animation).Data and technical support:MODIS Land Group; MODIS Science Data Support Team; MODIS Atmosphere Group; MODIS Ocean Group Additional data:USGS EROS Data Center (topography); USGS Terrestrial Remote Sensing Flagstaff Field Center (Antarctica); Defense Meteorological Satellite Program (city lights).