2次元画像生成
線分の描画表現


・線分の描画表現

 直線はその両端の2点間の連続する点の座標の画素をONにすることで描画します。座標は一次関数式から求めることができますが、除算は処理に時間がかかるため、DDA(Digital Differential Analyzer : ディジタル微分解析器)というアルゴリズムが用いられます。

DDAのアルゴリズム

 点P1と点P2を結ぶ直線を書く場合、xの増分がyの増分より大きいときはxの値を1ずつ増加させてそのときのyの値を求め、それをXY座標にプロットしていきます。yの増分がxの増分より大きいときはyの値を1ずつ増加させてxの値を求めます。

  1. Rという変数を用意し、初期値はxの増分に-1を掛けたものとする。
  2. 次のxの値は前のxの値に1を加えたものとする。
  3. 前のRにyの増分の2倍を加え、これを次のRとする。
  4. yの値は、Rが負の場合は前の値と同じとする。Rが正または0の場合は前の値に1を加えたものとし、Rからxの増分の2倍を引いた値をRに入れる。
  2から4の処理をxが終了値になるまで繰り返します。
DDA1 DDA2

| トップ | 前ページ | 次ページ |