Разбиение полигона на прямоугольники разного размера

Я хотел бы указать на информацию/ресурсы для создания алгоритмов, подобных тому, что проиллюстрирован в этом блоге, который представляет собой подразделение многоугольника (в моем случае ячейки Вороного) на несколько блоков разного размера:

http://procworld.blogspot.nl/2011/07/city-lots.html

В комментариях можно найти статью, среди прочего, автора блога, однако единственная приведенная формула касается пригодности места кандидата:

http://www.groenewegen.de/delft/thesis-final/ProceduralCityLayoutGeneration-Preprint.pdf

Подойдет любой язык, но если можно привести примеры, предпочтение отдается Javascript (поскольку это язык, с которым я сейчас работаю).

Похожий вопрос: >https://gamedev.stackexchange.com/questions/27055/что такое-эффективный-алгоритм-упаковки-для-упаковки-прямоугольников-в-полигон

[edit]: я нашел кое-что для начала, но это не совсем то, что я искал: http://www2.stetson.edu/~efriedma/squintri/


person Michael Trouw    schedule 08.10.2013    source источник


Ответы (1)


Я решил свою проблему совершенно другим, более простым способом.

Когда я искал свою проблему, она оказалась довольно сложной, как по сложности реализации в виде алгоритма (мое мнение), так и по классу (ам) сложности алгоритма.

Если у кого-то есть аналогичная проблема, эти проблемы классифицируются как «проблемы с упаковкой» в целом с конкретными проблемами, такими как «проблема с загрузкой поддона».

Проблема, которая меня интересовала, проиллюстрирована внизу этой страницы:

https://www.ime.usp.br/~egbirgin/packing/

и документ об этой проблеме с описанием алгоритма решения проблемы упаковки для выпуклых многоугольников и изогнутых форм:

http://www.ime.usp.br/~egbirgin/publications/bmnr.pdf

Еще немного информации о подобных проблемах:

http://lagrange.ime.usp.br/~lobato/utdc/ http://mathworld.wolfram.com/SquarePacking.html

person Michael Trouw    schedule 12.10.2013
comment
нет, я не могу! я не решил свою первоначальную проблему ни с помощью решения проблемы упаковки, ни с помощью разделения полигонов: / совершенно иначе и специфично для моей игры, так что извините! - person Michael Trouw; 16.01.2014