파란점이 도착점이고
움직이고자 하는 박스는 빨간박스입니다.
빨간 네모박스는 가로 10 세로 13 크기의 직사각형입니다 (회전 불가능)
검은박스는 각각 움직일 수 있는데 현재 그림에선 9의 간격을 가진채 자리에 위치하고있습니다.
빨간박스는 검은박스들의 사이를 지날 수가 없기떄문에 우회해서 파란점에 도착할것입니다.
그러나 검은박스들이 조금이라도 이동해서 간격이 10이 나오는 순간 빨간박스는 검은박스들의 사이를 이동하여 우회하지 않고 파란점에 도착할 수 있습니다.
타일기반의 A* 알고리즘으론 현재 제띨빵한 머리론 아무리 생각해봐도 아이디어가 안떠오르는데...
타일 단위를 1단위로 만들어도 지도 크기가 5000이기떄문에 5000*5000의 말도안되는 크기를 A*하는건 무리인거같고
제가 제일 고전하고 있는 문제는 검은박스들의 이동단위는 1이 아니라는것 입니다. 이동단위가 , 0.1도 될수있고 , 0.8도 될수있고 이동단위는 유연하다는겁니다..
그림의 예는 빨간박스가 1개지만
빨간박스는 1개가 아니라 10개, 100개가 될수도 있습니다.
빨간박스는 회전이 불가능합니다
지금.. 골머리 썩고있네요 빠른수행시간을 지니면서 정교한 길찾기...
어떤방법이 있을까요
Rapidly-exploring Random Tree (RRT) 혹은 Probabilistic RoadMap (PRM) 알고리즘이 도움이 될거같습니다
빨간박스가 상하좌우로만 움직인다면 다른 알고리즘이 필요할듯
아니면 minkowski sum 혹은 minkowski difference 개념을 이용해 빨간박스를 점으로 만들고 장애물을 키우면 됩니다 이게 정답이네 쓰고보니
답변 감사합니다
와. minkowski sum을 영상으로 봤는데 제일 와닿네요 정말 감사합니다