2009年05月06日

[パズル]凸多角形の外周

   このエントリーをはてなブックマークに追加 Clip to Evernote
問題
任意の数の点が与えられた時、点と点を結び凸多角形の外周を作ってください。 凸多角形の外側には点が存在しないようにします。

--------------

FrameLine01FrameLine02


この問題は、Consoleアプリケーションとして解いても面白みがないし、検証も厄介なので、WPFアプリとして作成してみました。
どうやって解くかは、C#のコードに挿入したコメントを読んでください。

今回もLINQを使っています。IEnumerableは、もう手放せませんね。
WPFの勉強になりました。

実は、この問題は、外周の中の点も結んで、線分が交差しない三角形の編み目を作るという問題の一部なのですが、 三角形の網目を作るアルゴリズムが思い浮かばなかったのでパスしています。

※当記事に掲載したコードは、『ナノピコ教室・プログラミング問題集』(駒木悠二+有澤誠 編 共立出版株式会社)に掲載されている問題を一部変更し、GushwellがC#で解いたものです。


 

この記事へのトラックバックURL

http://trackback.blogsys.jp/livedoor/gushwell/51810042