« マレーシアの提携大学「MSU」訪問記Fin | トップページ | アンチエイリアシング(2) »

アンチエイリアシング(1)

|

CG数理の基礎という講義(シラバスはこちら)では「画素の明るさ計算」に帰着してCGアルゴリズムを説明します。先日の授業ではアンチエイリアシングを解説しました。

簡単にいうと、アンチエイリアシングとは、CGで図形を描いたときに生じるギザギザの不具合を軽減する手法です。次の図は、上がアンチエイリアシング処理なしの結果画像、下が直線(黄色)にアンチエイリアシング処理を施した結果画像です。

Withoutaa_2

Withaa_2

結果画像(上:アンチエイリアシング無し、下:アンチエイリアシングあり)

ギザギザが生じる原因は、ディジタル画像の画素は縦横に整列して並んでいるためで、また、無限に細かくはないためです。水平線や垂直線はきれいに表示できますが、斜めの線は階段状に表現することになります。この階段がギザギザとして見えてしまいます。図形/背景の二種類の色だけで表現しようとするとどうしてもそうなります。

アンチエイリアシング処理は、画素の明るさとして、図形/背景の二種類だけでなく、中間の明るさも利用することで実現します。次の図は上記の結果画像の一部を拡大した様子です。ピンク色の図形にはアンチエイリアシングを施していません。

Withoutaazoom

Withaazoom

拡大画像(上:アンチエイリアシング無し、下:アンチエイリアシングあり)

どうやって中間の明るさを決定するのでしょうか? それは、「真の図形」を想定し、各画素(小さな正方形)がどれだけその真の図形に含まれているかの面積で決まります。

例えば、横幅7画素、縦の高さ4画素の斜めの線分を考えてみます。大きく拡大表示すると、上の真っ白の階段状の図形はアンチエイリアシング無しの表示結果、下の図形はアンチエイリアシングありの結果で、明るさの数値を付記しました。また、細い斜め線は「真の図形」で、実際の表示結果には現れないものです。

Aasample

拡大画像と真の線分(上:アンチエイリアシング無し、下:アンチエイリアシングあり)

この例では、太さ1画素の斜線(厳密には長方形)を想定しています。次の図は、その長方形とアンチエイリアシングありの表示結果とを重ね合わせたものです。

Aaresult

真の線分を太さ1画素の長方形と見なし、アンチエイリアシング処理で表示した結果

具体的にどのように計算するかは別の機会で説明します。

メディア学部 柿本正憲

おもしろメディア学」カテゴリの記事

在学生向け」カテゴリの記事

授業紹介」カテゴリの記事

高校生向け」カテゴリの記事

« マレーシアの提携大学「MSU」訪問記Fin | トップページ | アンチエイリアシング(2) »