タグ

グラフィックに関するizit_kosukeのブックマーク (1)

  • ペイント・ルーチン (2)アルゴリズムの高速化

    前章で紹介したサンプル・プログラムは非常にシンプルな実装である反面、無駄な処理が多いため、実行するのにかなりの時間が必要になります。そこでこの章では、無駄な処理を省くことでアルゴリズムの最適化・高速化を行います。 まず、上の図でシードPから閉領域を塗り潰すとします。シードPから左右方向に境界を探すとまずは線分 ABが得られます。線分 ABを塗り潰したら、その上下にある CD, EF二つのラインから領域色の部分を探します。線分 CDはそのまま領域色で、線分 EFはその中にある GHの部分が領域色なので、それぞれの代表として右端のシードDとHをキューに追加します。これで1ライン分の処理が済んだので、キューから新たなシードを取り出します。ここではシードDが取り出されたとします。 シードDから左右方向に境界を検索するとき、左方向はDからIまで、右方向はDからJまでの範囲を走査することになります。し

    izit_kosuke
    izit_kosuke 2013/03/13
    スキャンライン・シードフィルのアルゴリズム
  • 1