Как мне создать случайный путь? - PullRequest
8 голосов
/ 16 октября 2011

Я ищу алгоритм, который может генерировать что-то похожее на изображение:

enter image description here

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

1 Ответ

1 голос
/ 16 октября 2011

Поскольку вы хотите избежать самопересечения, случайную прогулку будет трудно сделать правильно. Вы можете легко нарисовать себя в углу. Я бы предложил начать с одного отрезка, который пересекает область, затем разделить этот отрезок где-то посередине и сместить среднюю точку на некоторую случайную величину, пропорциональную длине отрезка. Повторите этот процесс рекурсивно для двух новых отрезков. Если в итоге вы получите среднюю точку, в результате которой один из двух новых отрезков линии пересекает существующий отрезок, попробуйте другую среднюю точку. Остановите рекурсию, когда ваши отрезки будут короткими (однако вы хотите это определить).

...