Вход

Просмотр полной версии : Обход препятствия по контуру



newart
18.01.2008, 04:19
Имеется масив допустим 128x128 ячеек, в нем задан обьект произвольной формы, числами 0 и 1.
0 - ячейка проходима, 1 - не проходима.

Задача обойти обьект по периметру и вернуться в точку старта.

Тут видимо самое простое решение это так называемое "правило правой руки".

Но что-то оно у меня не работает, точнее работает частично, иногда застревает на тех или иных комбинациях формы обьекта или обходит не весь обьект.

Кто-нибудь занимался похожим вопросом?

Vladson
18.01.2008, 04:41
Тут видимо самое простое решение это так называемое "правило правой руки".
Пожалуй не то что бы простое, но ИМХО верное (по крайней мере мне в голову ничего другого не лезет)
А вот то что оно не работает очень странно, может в реализации какие-то огрехи ?

newart
18.01.2008, 04:58
А вот то что оно не работает очень странно, может в реализации какие-то огрехи ?
Может и огрехи. :)

Но вот для верноести тупо скопировал вариант вот отсюда: http://www.gotai.net/documents/doc-imp-004.aspx
не пашет вообще. :(

Totem
18.01.2008, 09:43
хмм ситуация знакома:) если брал реализацию со стороны, глянь в отладчике,когда повис достигло оно цели или нет? по условию. я года 3 назад доооолгоо парился над такой фичкой- "100% работающий код:)" ну если покурить маны и мозгами пошевелить:)было просто тупо задано лимит обхода, на что внимания не обратил:)

newart
18.01.2008, 17:04
Тема закрыта.
Все работает.

Вчера по недосыпу в паре мест опечатался. :)