言語ゲーム

とあるエンジニアが嘘ばかり書く日記

Twitter: @propella

塗りつぶし


Squeak ドローツールでの大きな山場である「塗りつぶし」アルゴリズムが完成した。これはほんまに苦労した。考えている間ずっと算数の宿題をやっている気分だった。「塗りつぶし」なんてよくある技っぽいが、良くあるのはビットマップの塗りつぶしだけで、ベクターの塗りつぶしについて書いてあるのが見つからず、これで合ってるんかいなと悩みながらの開発だったのでよけいしんどかった。

やってる事は単純で、塗りつぶしたい図形を二つに分けて、上下を「右手法」を使って迷路を解くように輪郭線を探してゆく。上下二つともスタート地点に戻る事が出来れば、それは「囲まれている」とみなせる。スタート地点に戻っても、その面が上下にならんでなければ囲まれていない。書くと簡単だな。