Replying to Avatar YoshikuniJujo

「ぬりつぶし」のアルゴリズムを考えてみた。

それぞれのピクセルは、未点、活点、済点の3つの状態を取るものとする。

また点が「範囲内」であるかどうかをチェックする関数pを考える。

ぬりつぶしの色をcとする。

1. ぬりつぶしの開始点を決める。これを活点とし、それ以外をすべて未点とする。

2. ある活点Xを色cにする。活点の上下左右について、pがtrueでありかつ未点であれば、それらを活点とする。活点Xを済点とする。

3. 活点がなくなるまで2をくりかえす。

これでうまくいくかな。

Avatar
YoshikuniJujo 10mo ago

細かい話だけど、1について「pがtrueとなる点のひとつを開始点とする」という条件が必要かな。

Reply to this note

Please Login to reply.

Discussion

Avatar
YoshikuniJujo 10mo ago

このアルゴリズム、深さ優先にすると、たとえば下から上に向かって塗りつぶされる感じになるし、幅優先にすると開始点から周囲に広がっていく感じになるかな。

Thread collapsed