@soul7

Как посчитать число возможных комбинаций картинок при генерации NFT?

Я нарисовал в Фотошопе картинку, в которой каждый отдельный объект находится на отдельном слое. Все слои сгруппированы по группам (по принципу взаимозаменяемости. В каждой группе одни и те же картинки, они отличаются только цветом). И все слои экспортировал по папкам (с такими же названиями как у групп слоёв в фотошопе).

У меня есть скрипт на JS, который накладывает картинки друг на друга и таким образом генерирует новую картинку.
Он берёт из каждой папки одну случайную картинку; и каждую последующую картинку накладывает на предыдущую.
Но в этом скрипте нужно указывать сколько картинок надо получить в конце концов.

А я хочу высчитать: сколько возможно сгенерировать уникальных картинок, если папок всего 3; в первой - 5 картинок, во второй - 3 картинки, в третьей - 4 картинки?

P.S.
Скриншот из Photoshop для наглядности:
627816775ec97320389576.png

Скришот из проводника (первой 5 картинок, во второй - три картинки, в третьей - четыре картинки)
62781632a90e5886574199.png
  • Вопрос задан
  • 706 просмотров
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
5 * 3 * 4 = 60
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
CollonilTolli
@CollonilTolli
Вспомним математику, а точнее факториалы.

Если скрипт берёт сначала фото из одной папки, а потом из следующей при условии что папку н выбирает случайно, то для начала возьмём всё количество комбинаций из папок
!3 = 1*2*3 = 6
  • 1,2,3
    ;
  • 1,3,2
    ;
  • 3,1,2
    ;
  • 2,3,1;
    ;
  • 2,1,3
    ;
  • 3,2,1


затем вычислим факториал файлов из каждой папки
!5 = 1*2*3*4*5 = 120 комбинаций из первой папки
!3 = 6 комбинаций из второй папки
!4 = 24 комбинаций из тетьей папки

затем перемножаем количество папок на сумму пролученных комбинаций картинок

6 * (120 + 6 + 24) = 252

если же скрипт берёт случайную картинку, из случайной папки, то нужно просто посчитать колличество картинок во всех папках, то есть 12 и узнать факториал
!12 = 479001600
Ответ написан
Ваш ответ на вопрос

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

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