NOBのArduino日記!

NOBのArduino日記!

趣味は車・バイク・自転車・ラジコン・電子工作です。

Processing(smooth関数の使い方)

smooth関数
 Processingにおけるsmooth関数は、滑らかな(アンチエイリアス処理された)エッジを持つジオメトリをすべて描画します。
 この動作はデフォルトであるため、smoothing関数は、プログラムがスムージングを別の方法で設定する必要がある場合にのみ使用する必要があります。
 levelパラメータは、滑らかさのレベルを上げます。
 これは、グラフィックスバッファに適用されるオーバーサンプリングのレベルです。

 P2DおよびP3Dレンダラではsmooth(2)がデフォルトです。
 これは「2xアンチエイリアス」と呼ばれます。
 コードsmooth(4)は4xアンチエイリアスに使用され、smooth(8)は8xアンチエイリアスに指定されています。
 アンチエイリアスの最大レベルは、ソフトウェアを実行しているマシンのハードウェアによって決まるため、すべてのコンピュータでsmooth(4)とsmooth(8)が機能しません。

 既定のレンダラーでは、デフォルトでsmooth(3)が使用されます。
 これはバイキュービックスムージングです。
 デフォルトレンダラのもう1つのオプションは、smooth(2)です。
 これは、双線形平滑化です。

 Processing 3.0ではsmooth関数が以前とは異なります。
 スケッチ内のアンチエイリアシングをオン/オフするには、smooth関数とnoSmooth関数を使用するのが一般的でした。
 さて、ソフトウェアがどのように変化したかによって、smooth関数はスケッチ内で一度しか設定できません。
 これは、setup関数を使わないスケッチの先頭か、setup関数を伴うスケッチで使用された場合にsize関数の後のいずれかで使用できます。
 noSmooth関数も同じ規則に従います。

 Processingで使用するsmooth関数の使い方は以下の通りです。
イメージ 4
   
void setup() {
  size(100, 100);
  smooth(2);
  noStroke();
}
 
void draw() {
  background(0);
  ellipse(30, 48, 36, 36);
  ellipse(70, 48, 36, 36);
}
イメージ 3
図1:プログラムの内容

イメージ 1
図2:プログラム実行結果

smooth関数の構文
 smooth(level)

smooth関数のパラメータ
 level:レンダラーに応じて2,3,4、または8のいずれか(int)

smooth関数の戻り値
 void

イメージ 1イメージ 3
励みになりますのでよければクリック下さい(^o^)/



この商品は、Amazon.co.jp が販売、発送します。 ギフトラッピングを利用できます。