2011年2月28日月曜日

グラフィックライブラリを作る的なはなし。

点の集合が線で、線の集合が面なんていうのはさておき、
グラフィック系だと最初に、【線を引く】なんていうことをやる場合が多いのですが、
実は、線を引くのは結構曲者なのですよ。図形を描く方が理解しやすい場合も多いのです。

本来なら、、(0,0)から(100,100)まで線を引くみたいなところから始めるのですが、
何が難しいかっていうと、、、、図形は面積があるので、そのまま描けばいいのですが、線は面積がない。
面積がないけど、ピクセルで描くから面積ができる。そこが難しいんです。

例でいうと、こんな感じ。
左は、(0,0)-(5,1)-(2,4)の3角形。
右は、(0,0)-(5,0)の直線。

三角形の方は、(0,0)という点に面積はなく、数学てやったグラフのような感じですが、
直線の方は、ピクセルに対して、0,1,2,3,,,という座標を与えているので、
点自体が1ピクセル面積をもってしまうのです。

よって、右の直線は、(0,0)-(6,0)-(6,1)-(0,1)の四角形と考えるならわかりやすいのですが、
(0,0)-(5,0)の直線と考えるのは、かなり無理があるのです。
しかし、とにかく線を気軽に引きたい場合などは、この方法もたしかに【あり】ですが、
DTP系のグラフィックスとしては【なし】ですかねー。

しかし、大方のグラフィックでは、線を引く命令は右図のような指定、
多角形を描く命令は左図のような指定をするんですよね。

もちろん、実際には、1ピクセル以下の描画はできませんから、アンチエイリアスをかけて
みたいな感じになりますけどねー。

0 件のコメント:

コメントを投稿