Main Content

alphamap の変更

すべての図には関連付けられている alphamap (0 から 1 の範囲の値からなるベクトル) があります。既定の alphamap は 0 から 1 まで線形に変化する 64 の値を含んでいます。図の Alphamap プロパティまたは関数 alphamap を使用して alphamap を表示または変更します。

既定の alphamap

既定の alphamap は次の図に示されるように、0 から 1 まで線形に変化する 64 の値を含んでいます。

am = get(gcf,'Alphamap');
plot(am)

この alphamap は、最も低いアルファ データ値を完全に透明に、最も高いアルファ データ値を不透明に表示します。

alphamap はいくつかの使用可能で事前定義された alphamap を作成し、既に存在するマップを変更することができます。以下に例を示します。

figure;
alphamap('vup')

Figure の Alphamap プロパティを、値が増加した後減少する alphamap に設定します。

am = get(gcf,'Alphamap');
plot(am)

increase または decrease オプションを使用して、値をシフトすることができます。以下に例を示します。

alphamap('increase',.4)

は、現在の Figure の alphamap 内のすべてに値に .4 を付加します。'vup' を再プロットし、alphamap の変更を示します。これらの値は [0 1] の範囲に固定されています。

am = get(gcf,'Alphamap');
plot(am)

例 — alphamap の変更

次の例は スライス平面 を使用して、ボリューム データを調べるものです。スライス平面はアルファ データ用にカラー データを使用して、1 から 0 の値の範囲で減っていく alphamap を採用しています。

  1. 3 変数関数を計算して、ボリューム データを作成します。

    [x,y,z] = meshgrid(-1.25:.1:-.25,-2:.2:2,-2:.1:2);
    v = x.*exp(-x.^2-y.^2-z.^2);
    
  2. スライス平面を作成し、アルファ データをカラー データに等しい値に設定して、内挿した FaceColorFaceAlpha を指定します。

    h = slice(x,y,z,v,[-1 -.75 -.5],[],[0]);
    set(h,'EdgeColor','none',...
    'FaceColor','interp',...
    'FaceAlpha','interp')
    alpha('color')
  3. 徐々に減少する alphamap をインストールし、透明度を希望する度数に達するまで、0.1 刻みで alphamap 内の各値を増加させます。カラーマップ hsv を指定します。

    alphamap('rampdown')
    alphamap('increase',.1)
    colormap hsv
    

この alphamap は、関数の最小値 (ゼロ付近) に最小の透明度を、最大値に最大の透明度を使用して表示するものです。これはスライス平面の中を見ることができ、一方、同時にゼロの近傍のデータも保存することになります。

関連するトピック