P5

アンチエイリアス : smooth, noSmooth

図形の輪郭の描画を滑らかにする

smooth(); 図形の輪郭にアンチエイリアスをかける
 例:smooth( 4 ); // 引数は 2, 4, 8 のいずれか
 例:smooth(); // 引数を与えない場合は 2 が与えられる

noSmooth(); アンチエイリアスをかけない
 例:noSmooth(); // 引数は入れません

smooth処理(アンチエイリアス処理)はデフォルトではオンになっています。特に理由が無い限り、この関数は特に使う必要はないでしょう(デフォルトのままで良い)。smooth関数の引数の値を大きくするほど輪郭は滑らかになり綺麗になりますが、そのぶん処理負荷も高くなります。高速な描画を求める場合は noSmooth を使うと良いでしょう。

サンプル

コード

void setup(){
  size( 600, 400 );
  strokeWeight( 2 );
  noFill();
}
 
void draw(){
  background( 255 );
  
  noSmooth();
  ellipse( 100, 200, 150, 200 );
  
  smooth( 2 );
  ellipse( 300, 200, 150, 200 );
  
  smooth( 8 );
  ellipse( 500, 200, 150, 200 );
}

noSmooth で描いた円はシャギーが目立ちますが、smooth を使うと滑らかになります。smooth(2) と smooth(8) に見た目の違いはほとんど感じられません(上の画面ではnoSmoothの円も輪郭が滑らかになっていますが、コードをProcessing上で実行してみると noSmooth の円が滑らかでないのが確認できるはずです)。

コメント

Copied title and URL