|
1 / 1 / 0
Регистрация: 11.08.2020
Сообщений: 11
|
|
Алгоритм плотного заполнения прямоугольника случайными прямоугольниками11.08.2020, 02:12. Показов 9211. Ответов 23
Доброго времени суток, прошу помощи в составлении алгоритма.
Условия таковы: Есть прямоугольная область с известными размерами, необходимо ее плотно заполнить случайными прямоугольниками(минимальный и максимальный размер задается пользователем), что бы: 1. между прямоугольниками не было промежутков(совсем не было, все вплотную). 2. каждый прямоугольник "знал" своих соседей(прямоугольники с которыми общий хотя бы один пиксель любой из сторон) 3. Вероятность появления прямой линии проходящей сквозь область должна стремиться к нулю. 4. Допускается выход случайных прямоугольников за рамки области. Сразу скажу, что алгоритм рекурсивной разбивки области на два, а потом каждой части еще на два и т.д. не годится, т.к. в 100% будет прямая линия(противоречие пункту 3). Случайное размещение случайных прямоугольников с дальнейшей проверкой коллизий с существующими прямоугольниками во первых очень не оптимально, особенно при малых минимальных размерах, а во вторых образуются прямоугольники размером меньше допустимого, не всегда, но часто. Буду признателен если кто-то подскажет возможные варианты красивого решения.
0
|
|
| 11.08.2020, 02:12 | |
|
Ответы с готовыми решениями:
23
Нестандартный алгоритм заполнения случайными числами
|
|
1 / 1 / 0
Регистрация: 11.08.2020
Сообщений: 11
|
|
| 31.08.2020, 02:01 [ТС] | |
|
Область известного размера нужна для завершения рекурсивного алгоритма, что бы новые векторы развертки прямоугольника вне области не создавались.
0
|
|
|
1 / 1 / 2
Регистрация: 12.07.2013
Сообщений: 146
|
|
| 03.05.2025, 13:05 | |
|
глобально все равно будут щели и спирали.
0
|
|
|
818 / 577 / 75
Регистрация: 20.09.2014
Сообщений: 3,777
|
|||
| 01.06.2025, 11:03 | |||
|
Добавлено через 1 минуту Ой, тема-то старющая.
0
|
|||
|
92 / 59 / 14
Регистрация: 16.11.2018
Сообщений: 283
|
|
| 01.06.2025, 13:48 | |
|
Чем не устраивает заполнение по спирали например по часовой стрелке?
0
|
|
| 01.06.2025, 13:48 | |
|
Помогаю со студенческими работами здесь
24
Определить наименьшее количество квадратов, необходимых для заполнения прямоугольника
Написать процедуру заполнения массива случайными числами Заполнения поля базы случайными значениями из списка Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений.
. . .
|
21 мат мед. Планы на развитие модели здравоСохранения
anaschu 01.06.2026
AnyLogic: план развития симуляционной модели рабочего коллектива — динамический абсентеизм, реальные данные, три сценария сравнения
Продолжаю серию постов о дискретно-событийной модели рабочего. . .
|
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы
Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
|
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция
Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
|
|
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
|
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
|
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
|
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика
Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
|