Ответы пользователя по тегу Алгоритмы
  • Находил ли кто-нибудь алгоритм разделения рандомной карты на различные регионы?

    @AlexHell
    подробней про Кластеризацию
    https://habr.com/ru/post/101338/

    Ищу подобное решения для увеличения продуктивности алгоритмов поиска пути.

    вы можете провести все ваши предварительные расчеты в оффлайне (т.е. на этапе генерации карты, а не во время "битвы")

    как алгоритм - вводите любое правило (эвристику), которое показывает хорошие результаты, нужные вам (а никто не скажет, думайте, пробуйте)

    например
    - первым проходом - циклом итерируете все клетки одинакового типа (синие на карте например, допустим это "вода"), проверяете тип их соседей, выбираете границы, скажем зеленые\желтые (допустим "суша"), по результату этапа у вас есть большие области одного "цвета" с их границами (для описания можете заюзать bounding box или convex hull или что угодно такого рода)
    - вторым проходом - можно поделить крупные области, на более мелкие, например получить r1, r2, r3 с вашего скриншота, из исходного (на вашем скриншоте нету, но считайте что он сумма r1+r2+r3).. с помощью определения макс удаленности, скажем берете границу любую случайно - и от нее далее ведете по границе, пока не превышен лимит, или еще как-нибудь во время итерации ваших точек внутри региона проверяете лимит длины до первоначально выбранной границы

    p.s. а еще для той же цели оптимизации поиска почитайте
    https://www.redblobgames.com/pathfinding/grids/alg...
    Ответ написан
    Комментировать
  • Как улучшить модуль обработки дерева?

    @AlexHell
    Это вот все не типизированное - ни конкретных классов\функций, а по имени передается 'setCurrentEdited' который текстовым поиском искать надо, и его опции value: false - плохо с точки зрения архитектуры

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

    p.s. а еще model, modes - очень плохое название, во 1х это отличие всего в одном символе, и в теле метода будет путаница (ктото пропустит последнюю букву), вот чисто по опыту вам скажу
    к тому же modes вообще не говорит что это за режим
    лучше - actions

    что до
    - масштабируемости
    - скорости
    .. то это вам замерять в своих условиях.. боитесь медленной интерпретации динамических имен функций и передачи им параметров? почитайте доки, может кто еще ответит
    Ответ написан
    2 комментария