はじめに
プログラムで線分を描くに当たって、基礎的なことを解説します。
対象読者
コンピューターグラフィックス、画像処理に興味がある人。
サンプル画像
サンプルプログラムで作成した円の画像です。
サンプルプログラム
記事上部のリンクからバイナリファイルをダウンロードして解凍し、「LineDraw.exe」を実行してください。
画面について
プログラムを実行すると、黒色の背景の上に同心円が表示されます。左側には、表示パラメーターや操作方法、処理時間などが表示されます。
操作方法について
キー | 項目名 | 値範囲 |
L | 描画アルゴリズムの選択 | Bresenham/DDA/Wu/Nelson |
P | 描画パターンの選択 | p1/p2/p3/radial/circle |
左右キー | X位置の変更 | |
上下キー | Y位置の変更 | |
I | radialパターンの場合は内側の円の大きさ、circleパターンの場合は同心円の間隔の変更 | 0.1~10.0 |
A | radialパターンとcircleパターンの場合に、線を描く角度の細かさを変更 | 0.01~360.0 |
T | WuとNelsonの描画アルゴリズムの場合に線の濃さを変更 | 0.0~1.0 |
F | Nelson描画アルゴリズムのパラメータ | 0.0~ |
G | gamma補正のパラメータ | 0.0~ |
Shift | [Shift]と同時押しでパラメータ増加、[Shift]と同時押しでない場合パラメータ減少 | |
Ctrl | [Ctrl]と同時押しでパラメータの変化の割合を10倍 | |
R | パラメータの初期化 |
ソースコード
サンプルプログラムはMicrosoftのVisual Studio 2005 StandardのC++で作成をしています。記事上部のリンクからソースファイルをダウンロードして解凍した後、「LineDraw.sln」というソリューションファイルを開いてください。ウィンドウ表示のライブラリにはSDLを使っています。文字表示にはSDL_kanjiを使っています。線の描画には自作のライブラリを利用しています(「common\gl」フォルダに入っています)。
ソースコード中のテンプレート指定を変更することによって、色の精度や種別(モノクロorカラー)などを変更することができます。