我一直在使用Image Analyst http://www.mathworks.com/matlabcentral/fileexchange/27175-mazesolution的maze_solution函數一段時間沒有問題。有一些限制:迷宮必須是完美的,沒有圓形路徑。MatLab迷宮求解
話雖這麼說,它通常工作得很好,當我測試了一下,讓我爲你提供的輸出兩個例子:
maze-1 -
maze-2>solution-1(顯然效果很好) - >solution-2(不太好)
現在讓我把一些規則不是很明顯我的迷宮:
- ŧ這裏沒有圓形路徑(有些被困在牆上,但沒有一個迷宮算法會遇到)。
- 它們總是從左上角開始,然後每次都有四個相同座標的出口。
- 總是隻有一個出口。
所以,我想要做的是,讓我們考慮第一個截圖。它運行良好,'找到'出口,有沒有什麼辦法可以讓matlab實驗室彈出一個消息框(例如使用msgbox()),並說出類似「嗨用戶,我找到了解決方案!這是A!」?我已經想了很久,但沒有辦法做到這一點。一個我認爲溶液的約是,在僞代碼:
if CertainCoordinate = red pixel
return A
鑑於CertainCoordinate可能是A,B,C和d的不可改變的座標(x和y)(然後,我會使用4 'IFS'),但我真的不知道如何實現這一點。任何想法或...什麼東西指向我在正確的方向?所以,總結一下:我現在有一個算法,它現在生成一個紅色的出口路徑(如果你有任何建議,我可以更好的算法),但我的目標是讓matlab告訴我他發現了什麼,而不是讓我看圖片。因此,例如,在第一張圖片中,我希望打開一個MessageBox並說出「嘿用戶!我找到了出口,它是D!」,而不是向我顯示帶有紅色路徑的圖像。問題是,我不知道如何教MatLab「D在哪裏」,並讓他認識到他發現了'D'。那麼,有沒有關於如何做到這一點的建議?
在此先感謝!
它們是使用圖着色思想的「連接組件」算法的變種。你應該參考一個標準的算法教科書,也許史蒂文Skiena,或由CLRS – Arcturus 2013-03-02 16:04:09