Image Analyst http://www.mathworks.com/matlabcentral/fileexchange/27175-mazesolutionの maze_solution 関数をしばらく問題なく使用しています。いくつかの制限があります: 迷路は完全で、円形の経路がない必要があります。
そうは言っても、テストすると通常は非常にうまく機能します。出力の例を2つ紹介します。
maze-2 -> solution-2 (あまり良くない)
ここで、迷路について明らかではないいくつかのルールを設定しましょう。
- 円形の経路はありません (壁に閉じ込められている経路もありますが、迷路ソルバーが遭遇する経路はありません)。
- それらは常に左上から始まり、毎回同じ座標に 4 つの出口があります。
- 出口はいつも一つ。
それで、私がやりたいのは、最初のスクリーンショットを考えてみましょう。それはうまく機能し、出口を「見つけます」。mat lab にメッセージボックスをポップアップさせて (たとえば、msgbox() を使用して)、「やあ、ユーザー、解決策を見つけました! A です!」のようなことを言う方法はありますか? 私はすでにこれについて長い間考えていましたが、これを行う方法が見つかりませんでした. 私が考えた解決策の 1 つは、疑似コードで次のとおりです。
if CertainCoordinate = red pixel
return A
一方、特定の座標は、A、B、C、および D の変更不可能な座標 (x および y) である可能性があります (その場合、4 つの「if」を使用します)。アイデアや... 正しい方向に私を向けるためのものはありますか?
つまり、要約すると、現在、出口への赤いパスを生成するアルゴリズムがあります (提案があれば、より良いアルゴリズムを受け入れます)。私をイメージで。たとえば、最初の画像では、赤いパスが表示された画像を表示する代わりに、MessageBox を開いて、「やあ、ユーザー! 出口を見つけました。D です!」と言うようにします。問題は、MatLab に「D はどこにあるのか」を教える方法と、彼が「D」を見つけたことを認識させる方法がわからないことです。それで、それを行う方法について何か提案はありますか?
前もって感謝します!