이미지 분석가 http://www.mathworks.com/matlabcentral/fileexchange/27175-mazesolution의 maze_solution 기능을 문제없이 사용하고 있습니다. 몇 가지 한계가 있습니다. 미로는 완벽해야하며 원형 경로가 없어야합니다. (>solution-2 ->solution-1 (분명히 잘 작동)MatLab 미로 해결
maze-2 -이
가maze-1 : 말했다되고 그건
, 그것은 일반적으로 내가 그것을 테스트 할 때, 내가 출력의 두 가지 예를 제공 할 수 있도록 아주 잘 작동 아니 너무 잘)
이제은 내 미로에 대해 명확하지 않은 몇 가지 규칙을 만들어 보자 :
- T 여기에 순환 경로가 없습니다 (벽에 갇혀 있지만 미로 해결자가 실행되지 않는 경로가 있습니다).
- 항상 맨 위 왼쪽부터 시작하고 매번 같은 좌표에 4 개의 이탈이 있습니다.
- 항상 한 개의 이탈이 있습니다.
그럼 내가하고 싶은 것은 첫 번째 스크린 샷을 고려해 보겠습니다. 그것은 잘 작동하고 출구를 찾는다. 예를 들어 msgbox()를 사용하여 매트 랩이 메시지 상자를 팝업하고 "이봐 요 사용자, 해결책을 찾았습니다!"라고 말하면 어떤 방법이 있겠습니까? 나는 이미 이것을 오랫동안 생각했지만, 이것을 할 방법이 없다. 생각 된 해결책 중 하나에 대한 의사 코드에서였다 CertainCoordinate는 A, B, C 및 D의 불변 좌표 (x 및 y)이 될 수있는 반면 (그럼 4 '의 IFS'을 사용할 것이다)
if CertainCoordinate = red pixel
return A
, 하지만 실제로 구현하는 방법을 모르겠습니다. 어떤 아이디어 나 ... 올바른 방향으로 나를 가리키고있는 뭔가?
그래서, 요약 : 지금은 출구에 빨간색 경로를 생성하는 알고리즘이 있습니다. (제안이 있다면 더 좋은 알고리즘을 사용할 수 있습니다.)하지만 목표는 matlab이 발견 한 것을 말해주는 것입니다. 대신 나를 이미지로 보여주는 것. 그래서 예를 들어, 첫 번째 이미지에서 MessageBox를 열고 "이봐, 사용자! 내가 출구를 발견 했어, D 야!"라고 말하면서, 그 위에 빨간색 경로가있는 이미지를 보여주는 대신에. 문제는 MatLab에 'D가 어디에 있는지'를 가르치는 방법과 'D'를 찾았다는 것을 인식하게 만드는 방법을 모른다는 것입니다. 그래서, 어떻게하는 지에 대한 제안이 있습니까?
미리 감사드립니다.
그래프 채색 아이디어를 사용하여 '연결된 구성 요소'알고리즘의 변형입니다. 표준 알고리즘 교과서, 아마 Steven Skiena 또는 CLRS를 참조해야합니다. – Arcturus