Задать вопрос
uvelichitel
@uvelichitel
habrahabr.ru/users/uvelichitel

Как пересчитать плотно упакованные шары из центра по спирали?

Мне нужно разметить полотно из центра к окраине расставляя метки с равной плотностью.
Показано. что идеальная расстановка это соты, бильярдная пирамида.
Требования к метке M
  • Шар[М], где каждый шар помечен ровно одной меткой и каждой метке соответствует ровно один шар.
  • Критерий удаления от центра. Если М>К, то (Шар[М + 1] - Шар[1]) >= (Шар[К] - Шар[1])
  • Метод построения. Рекурсивное преобразование Шар[М + 1] = Индуктор(Шар[М]) сложности О(1), в идеале линейное. Если это не решено, то Шар[M] = Конструктор(М)

Я видел алгоритмы для спирали Архимеда и логарифмической. В логарифмической проще построить рекурсивный шаг потому, что проходя равную длину спирали мы всегда удаляемся от центра на равное расстояние. Обе спирали не дают гарантированно равноплотную упаковку. Можно построить ломаную спираль по клеткам координатной решетки, но плотность упаковки будет меньше сотовой конструкции. Может быть решен алгоритм для сотовой упаковки?

P.S. По рекомендации ресурса переношу уточнения из комментариев в тело вопроса
Примерно вот так habrastorage.org/files/bac/d16/317/bacd163174dc4d8...
Я пытаюсь реализовать алгоритм www.wordle.net описанный здесь static.mrfeinberg.com/bv_ch03.pdf и мне нужно частное решение задачи https://ru.wikipedia.org/wiki/Задача_об_упаковке_в...
  • Вопрос задан
  • 2435 просмотров
Подписаться 1 Оценить 9 комментариев
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillbox
    Архитектор ПО
    4 месяца
    Далее
  • Skillbox
    Алгоритмы и структуры данных для разработчиков
    3 месяца
    Далее
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы