Алгоритм генерации цифровых растений.

Поделиться
HTML-код
  • Опубликовано: 29 авг 2023
  • В ролике описываю алгоритм, который я использовал в проекте "Digital Garden" (цифровой сад).
    Задача состояла в том, что бы генерировать виртуальные растения с возможностью скрещивания их между собой.
    Первое видео по проекту ( • Проект цифрового сада )
    Поддержать канал можно на Boosty ( boosty.to/foo52ru )
  • НаукаНаука

Комментарии • 170

  • @savtis2606
    @savtis2606 10 месяцев назад +433

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

    • @forestergogo
      @forestergogo 10 месяцев назад +21

      Алюминь! 🙏

    • @Junior_YouTuber_69
      @Junior_YouTuber_69 10 месяцев назад +3

      Это точно

    • @ThePelarum
      @ThePelarum 10 месяцев назад +10

      Я бы ещё Onigiri поставил в ряд)

    • @edvardfox465
      @edvardfox465 9 месяцев назад +1

      и кибербиологии

    • @che42cc
      @che42cc 9 месяцев назад +8

      "порой создаёт гравитацию", а порой антигравитацию) Тут сразу вспоминается анекдот:
      Раньше яблони выстреливали яблоками в случайных направлениях. Но те, которые выстреливали яблоками вверх, улетели в космос и не дали потомства. Так появилась гравитация.

  • @Goah5
    @Goah5 10 месяцев назад +24

    Теперь этот день кажется не таким плохим.

  • @user-fq9nv3gd7s
    @user-fq9nv3gd7s 10 месяцев назад +76

    Было бы очень интересно увидеть объединение этого проект с ранее созданным "эволюцию цифровых деревьев"

    • @Bug753
      @Bug753 10 месяцев назад +8

      согласен, но алгоритм придётся доработать, было бы интересно посмотреть на эти внеземные, но логичные растения

    • @genybr
      @genybr 10 месяцев назад +4

      @@Bug753 Spore-подобное что-то.

    • @Bug753
      @Bug753 10 месяцев назад +2

      @@genybr почти, только там будет естественный вопрос

    • @kirpaws
      @kirpaws 10 месяцев назад +2

      ​@@genybrбыло бы славно

    • @yuranga4591
      @yuranga4591 8 месяцев назад

      ​@@genybrНичего общего. В spore нету ни случайной генерации растений, ни тем более естественного отбора.

  • @infise304
    @infise304 10 месяцев назад +14

    Даёшь селекцию во славу субъективной красоты!

  • @iq40
    @iq40 10 месяцев назад +14

    Твои видео мотивируют меня возвращаться к написанию своей графической библиотеке, с помощью которой подобные проекты было бы реализовать гораздо проще)

  • @BolT007BooNET
    @BolT007BooNET 10 месяцев назад +61

    У живых деревьев из большого ствола могут расти как большие ветки, так и маленькие, Возможно стоит добавить возможность растить на ветке не только ветки след уровня, но и через несколько уровней. (т.е. на большой ветке тоже могут быть листочки.)

    • @IceVenOm98
      @IceVenOm98 10 месяцев назад

      но тут таблицей уже не обойтись будет

    • @BolT007BooNET
      @BolT007BooNET 10 месяцев назад +10

      @@IceVenOm98 Еще один ген который задает разброс в уровне детей.

    • @leningradetsfromshusharsta985
      @leningradetsfromshusharsta985 10 месяцев назад +1

      ​@@BolT007BooNETдиапазон разоброса и вероятность

    • @PJutch
      @PJutch 9 месяцев назад +1

      @@leningradetsfromshusharsta985 мне кажется лучше геометрическое распределение - вероятность пропустить уровень, если пропустился, пробуем повторить.

    • @leningradetsfromshusharsta985
      @leningradetsfromshusharsta985 9 месяцев назад

      Звучит интереснее, согласен)

  • @creastive
    @creastive 10 месяцев назад +7

    Посмотрел всё видео на 40 х, однозначно лайк!

  • @optozorax
    @optozorax 10 месяцев назад +5

    Мне понравилось что все параметры алгоритма так хорошо объяснены и что они просты для понимания) По такому видосу можно просто взять и свою версию сделать)

  • @sashikshik
    @sashikshik 10 месяцев назад +8

    Бро, это супер круто, было бы здоровски сделать сайт с деревьями, где можно в настройках гены покрутить и получить своё дерево)

  • @thaurmiel5781
    @thaurmiel5781 10 месяцев назад +5

    Только запустил, сразу поставил лайк, спасибо за труд!

  • @no_.name._.
    @no_.name._. 9 месяцев назад +3

    Я в ютубе пока ничего подобного вашим видео не встречала. Очень интересно, просто завораживает всё, что вы показываете!

  • @MrSiliks
    @MrSiliks 9 месяцев назад +1

    Какое мощное развитие получила игра "Жизнь"!

  • @KurillKrotov
    @KurillKrotov 10 месяцев назад +28

    Давай алгоритм генерации цифровых водрослей, только что бы в этом был смысол надо добавить естественный отбор

  • @Neologizm144
    @Neologizm144 10 месяцев назад +7

    Наконец - то, новое видео. Жду видео с этого канала больше, чем что либо еще.

  • @AlexandrSvetlakov
    @AlexandrSvetlakov 10 месяцев назад +7

    вот так же создавалась и наша реальность.
    всё больше удостоверяюсь, что бо́льшую часть нашей фауны составляют креативы студентов-практикантов.

    • @SIM31r
      @SIM31r 9 месяцев назад

      Это лучше, чем вообще хаотичные метания рандомных процессов. Плюс человек случайно появившийся. У павлинов самки выбирали самого хвостатого, у людей самого смекалистого и всё.

  • @kapedalex1996
    @kapedalex1996 10 месяцев назад +5

    Внезапный вывод про красоту порадовал, продолжайте в том же духе!

  • @Sergey_DmitrievichD
    @Sergey_DmitrievichD 10 месяцев назад +4

    Достойно уважения!!!

  • @ressurextion3690
    @ressurextion3690 9 месяцев назад

    Как же круто понимать, что один из твоих самых любимых ютуберов живёт рядом

  • @bearmike_360KB
    @bearmike_360KB 10 месяцев назад +1

    Всегда неожиданно, но приятно.

  • @BillHerrington
    @BillHerrington 10 месяцев назад +10

    Контент суперский, спасибо за труд!
    Ещё было бы интересно добавить блок генов, отвечающих за появление плодов на концах веток со своими параметрами формы, длины, цвета

  • @TAng82
    @TAng82 10 месяцев назад +3

    Вот она, красота логики и алгоритма! завораживающе, притягивающе познавательно! 🤗🔥

  • @user-dh7gy2ef5l
    @user-dh7gy2ef5l 10 месяцев назад +1

    Хорошо, очень хорошо... Но мало, очень мало!

  • @CopperFun
    @CopperFun 10 месяцев назад +4

    ура новое видео у техно шамана

  • @sledstorm3964
    @sledstorm3964 9 месяцев назад +1

    Всегда жду ваших видео! это абсолютно интересно!

  • @zix2421
    @zix2421 10 месяцев назад

    Жесть, сначала подумал что это будет что-то типо копирки прошлого ролика, но лучше. А тут прям объяснение генома, имба

  • @The2427666
    @The2427666 9 месяцев назад

    Крутейших алгоритм для генерации инопланетной флоры в играх 👍🔥

  • @user-464cH3
    @user-464cH3 10 месяцев назад +1

    Наконец то раскрыта тайна деревьев foo52!

  • @sayronus
    @sayronus 10 месяцев назад +1

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

  • @rproc8127
    @rproc8127 9 месяцев назад +1

    Мне конечно очень понравилось, но мы бы хотели больше того что ты показал в конце.

  • @Novator_Progressive
    @Novator_Progressive 10 месяцев назад +4

    Интересно было бы увидеть эволюцию цифровых растений в рамках какой нибудь среды.

  • @Ardbot
    @Ardbot 10 месяцев назад +2

    Вроде и простые алгоритмы, а всё равно получается какая-то магия)

  • @humanlike6658
    @humanlike6658 10 месяцев назад +5

    Можно сделать обои для Wallpaper Engine с анимацией роста рандомных растений

  • @flashpaperdotru
    @flashpaperdotru 10 месяцев назад

    Как всегда, красиво и завораживающе.

  • @utimij
    @utimij 10 месяцев назад +6

    Твои видео заслуживают больше лайков, можешь сделать в следующем видео расширенную борьбу кланов с новыми генами и и самих кланов больше!?

  • @Valentin_I
    @Valentin_I 10 месяцев назад +1

    Ура, новое видео! 🥳🎉 Один из любимых каналов 😀

  • @undersan6312
    @undersan6312 9 месяцев назад

    Интерестно вышло, спасибо!

  • @Cka3kaE6
    @Cka3kaE6 10 месяцев назад +2

    ку, круто что видосы пилишь, больше всего мне понравилось где в разных средах развивались, а потом столкнули эти миры

  • @koshtinh0
    @koshtinh0 9 месяцев назад

    Каждое видео с этого канала содержит некоторую философскую и научную экзистенциальную мысль и заставляет задуматься. Я ни разу не программист, но всегда интересно.

  • @mr_fire_6863
    @mr_fire_6863 10 месяцев назад +1

    Обожаю твои видео! Выкладывай их почаще пожалуйста

  • @TimofeyFirsov
    @TimofeyFirsov 10 месяцев назад +1

    Супер-крутой канал! Так держать!

  • @AllWayToDeath
    @AllWayToDeath 10 месяцев назад +1

    Проект - пушка ! Автор - ты невероятный молодчина !

  • @rproc8127
    @rproc8127 9 месяцев назад +1

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

  • @jdueioksltoirtius9685
    @jdueioksltoirtius9685 9 месяцев назад

    Просто превосходно!
    жЫрный лайк!

  • @andreahri
    @andreahri 9 месяцев назад +2

    ТехноШаман, благодарю за интересные эксперименты. Касаемо деревьев, где-то читал, что бифуркация происходит таким образом, что если проводить горизонтали после каждого деления , то количество ветвей будет равняться числам Фибоначчи.
    Быть может стоит реализовать что-то подобное?
    P.S. Ютуб заблокировал предыдущий коммент с картинкой, но иллюстрации можно найти по запросу "Числа Фибоначчи ветви дерева"

  • @johnpilotsandmail3612
    @johnpilotsandmail3612 10 месяцев назад +1

    Вот это прям очень круто!

  • @LFirm
    @LFirm 9 месяцев назад

    Удивительно!!!!❤

  • @user-yf5zn9us5z
    @user-yf5zn9us5z 10 месяцев назад +1

    У живых деревьев:
    1) следующий уровень может быть на конце веточки сразу несколько (тут без изменений)
    2) могут быть чередоваться, например, 5 шагов + веточка вправо. 5 шагов + веточка влево, всего, например, 50 шагов.
    3) толщина ветки = количество запасенной энергии
    4) ширина листа = количество энергии, которое запасает лист
    5) рост идет по сегментам. Т.е. вырос сегмент, сразу листья. Второй год -- сегмент 2 уровня + листья и т.д. Плодоносят начиная с уровня сегмента 3 и далее.
    6) солнце не в зените. Т.е. утром освещается восточная сторона, вечером -- западная. Листья могут давать тень в зависимости от своей ширины, до земли доходит лишь некоторый процент. Лучи солнца параллельны, можно как водопад, а растение поворачивается, мешая "протеканию". Камера фиксирована на растениях и будет казаться, что это солнце двигается вокруг растений, а на самом деле наоборот. Еще у солнца вечером и утром меньше мощность, т.к. проходит через большой объем атмосферы, в зените яркость максимальна, на восходе/закате минимальна. И растения сбоку и сверху мешают, но есть немного энергии, которые доходят и до земли. Например, 1%.
    7) Привлекательность для насекомых. Они любят нектар и яркие цвета. А нектар -- это расходы энергии. Цвет -- это тоже расходы энергии, но меньше.
    7.2) фактор Пчелки-программиста, который может усилить влияние на растения, вырезая "сорняки" и оставляя красивые растения. Например, сказав "Да будет теплица и искусственное освещение исключительно сверху!", а вокруг дикий лес...
    8) уровней может быть меньше. Например, 3: ствол, листья, цветы/плоды/семена. Но уровень ствола может быть еще на следующих 5-6 уровнях, просто дублируя себя. С п.5 это описывает обычное дерево
    9) невостребованные ветки засыхают. Те, что запасают, тратят энергию на свое существование.

  • @watchegondu4716
    @watchegondu4716 10 месяцев назад

    мне нравится твой канал (почти)! продолжай выпускать видосы про эволюцию, это реально интересно, наверное)

  • @itidiali2164
    @itidiali2164 10 месяцев назад +1

    Великолепно !!!!

  • @egormalygin4283
    @egormalygin4283 9 месяцев назад

    это потрясающе

  • @sanacher101
    @sanacher101 9 месяцев назад

    рад то что ролеки чаше выпускаеш. так деражть брат

  • @Konstantin_Baranoff
    @Konstantin_Baranoff 9 месяцев назад +1

    "Ну а дальше все просто... почти."

  • @stalmak
    @stalmak 10 месяцев назад +1

    Очень круто

  • @emperorgalaxy4495
    @emperorgalaxy4495 10 месяцев назад

    Отлично как всегда

  • @staf5496
    @staf5496 10 месяцев назад

    Видео классное, тк тема очень интересная👍

  • @user-ww7rq9cy4t
    @user-ww7rq9cy4t 9 месяцев назад

    Гениально! Больше сказать нечего.

  • @mshigaev1564
    @mshigaev1564 10 месяцев назад +1

    Талантливо

  • @zzubra8802
    @zzubra8802 10 месяцев назад

    Круто, спасибо! ❤

  • @revoluxe
    @revoluxe 9 месяцев назад

    Фига как круто!!!!

  • @dehabsmtb
    @dehabsmtb 9 месяцев назад +1

    Было бы классно посмотреть ещё на лес одного вида, мне кажется это было бы очень красиво

  • @sashakrasnoyarsk
    @sashakrasnoyarsk 9 месяцев назад

    Классно!

  • @yobi3d
    @yobi3d 9 месяцев назад

    эх, каким бы я был человеком, если бы у меня был хотя бы знакомый такой как автор... что-то как то всё у нас странно, почему то все по алкоголю специалисты (

  • @scarh173
    @scarh173 9 месяцев назад

    Класс😳

  • @user-yn7ue1lk6u
    @user-yn7ue1lk6u 9 месяцев назад

    Круто однако

  • @chegleeff
    @chegleeff 10 месяцев назад

    Круто 👍

  • @user-cb8dx9uw1x
    @user-cb8dx9uw1x 5 месяцев назад

    Мужик, ты реально техношаман

  • @StPaaty
    @StPaaty 9 месяцев назад

    красиво

  • @TurnToTheLight
    @TurnToTheLight 3 месяца назад

    сразу хочется кинуться и начать кодить

  • @user-vo1dz1rj3f
    @user-vo1dz1rj3f 5 месяцев назад

    Усредненные параметры дают красоту вида отсекая аномалии. А красота Царства растений в максимальном разнообразии форм, цветов и т.д,

  • @goiiia3774
    @goiiia3774 9 месяцев назад

    12:10 Звук и видео прям как мои жигули гниют стоя в гараже.

  • @dengiproject
    @dengiproject 10 месяцев назад +1

    Привет товарищ нижегородец, а не хочешь обучающие видео поделать по програмированию?) Я бы посмотрел. И как всегда прошу сделать что либо по покеру, было бы интересно как агенты играют друг сс другом в покер и учатся

  • @Antonio_Galvani
    @Antonio_Galvani 10 месяцев назад +2

    Больше похоже на морских жителей - коралловых полипов.

  • @user-dp3ye3mn8r
    @user-dp3ye3mn8r 9 месяцев назад

    Эх, мне бы такое дерево, в рамочку да на стол)

  • @SpeleoFakel
    @SpeleoFakel 10 месяцев назад +1

    Нужно добавить ген случайного устаревания (сгнило и отвалилось) веток. Более живенько будет выглядеть.

  • @user-il4kd9qq3y
    @user-il4kd9qq3y 9 месяцев назад

    А если добавить свет, к которому тянутся растения и гравитацию, которая изгибает ветки, то от половины генов можно отказаться. Плюс цвет света тоже может определять цвет листьев. Тут немного в биологию вдатся надо. Плюс движение источника света. И по идее получится почти рандом.

  • @vitali-pozitiv
    @vitali-pozitiv 5 месяцев назад

    Гений

  • @bull6358
    @bull6358 9 месяцев назад

    "Ни хрена не понял , но очень интересно!"

  • @TheMrKMen
    @TheMrKMen 10 месяцев назад

    Т-е получается, вполне можно сделать генератор случайных красивых растений, если грамотно выбрать параметры и задать в качестве базы некое непримечательное растение.
    Причём на всякий случай собрать непримечательных растений как-можно больше. А затем мутировать у этих растений случайным образом треть от генов, или даже половину. Ну или даже генерировать треть чистых изменений и четверть - среднее между случайным значением и заданным в шаблоне.

  • @systemhask1309
    @systemhask1309 9 месяцев назад

    Вот бы эволюционные алгоритмы применялись для создания игровой среды и существ, такие миры выглядели бы необычно и естественно одновременно. Например хотя бы к программе speed tree прикрутить такой модуль для генерации разных пород.

  • @macdonald_duck
    @macdonald_duck 9 месяцев назад

    Привет! Ты видел, что сделали в относительно недавней (1-1,5 годичной давности) работе "Growing Neural Cellular Automata" (есть буквально интерактивная версия)? Уверен, что такое для генерации растений (да и любой имитации жизни с дифференциацией клеток) было бы просто бомбой, чем-то новым и мозговзрывающим.

  • @user-rf8xl2yk1f
    @user-rf8xl2yk1f 9 месяцев назад

    В устах программера слова
    Я так думаю !!! Наверно !!!
    Либо не типичные :)
    Либо стимулирующие к новым подвигам

  • @user-xl8wn6ge2m
    @user-xl8wn6ge2m 10 месяцев назад +1

    По-моему алгоритму не хватает какого то элемента случайности. Тогда будет более разнообразным.

    • @Valentin_I
      @Valentin_I 10 месяцев назад +2

      Рандом используется для небольших смещений и при скрещивании. Это обосновано тем, что полный рандом чаще будет выдавать какую-то кривую хрень, чем "красивые" формы

  • @be3ho7nm
    @be3ho7nm 9 месяцев назад

    Красиво. А не удобнее ли работать с цветом в HSV?

  • @oberguga
    @oberguga 10 месяцев назад

    Можно добавить реалистичную фичу, усли ветка растёт ниже основания, она или отмирает или отрастает вверх(скачком меняется параметр направления на перпендикулярно вверх и опционально, сразу начинается рост следующего уровня). Так можно сделать ползучие кустарники...

  • @user-wz8vf8kd9k
    @user-wz8vf8kd9k 9 месяцев назад

    В живой природе деревья разные, но повторяющиеся. Допустим, берёза - это дерево определенного цвета и формы, но в мире миллионы берёз. Какие параметры из вашего списка будут "базовыми" (которые нельзя менять внутри вида) и дополнительными (которые сделают разные деревья одного вида отличающимися друг от друга)? Нарисуйте рощу, дубраву, лесок :)

  • @user-cl8hi9jw3b
    @user-cl8hi9jw3b 10 месяцев назад

    Так это было в 2д? Очень круто придумано

  • @Muiota
    @Muiota 9 месяцев назад

    Интересно, с генерацией звуков есть подобные эксперименты?!

  • @ladahock
    @ladahock 10 месяцев назад

    Красота! Можно продавать алгоритм Джеймсу Кэмерону, пускай снимает третий Аватар )

  • @vadimdamour7704
    @vadimdamour7704 9 месяцев назад

    получилось здорово, это в чем написано? и на чем?

  • @stanislavsolodky9673
    @stanislavsolodky9673 10 месяцев назад +1

    не хватает листьев и некоторых природных соотношений, Ловчиков эту тему изучал

  • @user-ht3xq7yz4d
    @user-ht3xq7yz4d 10 месяцев назад +2

    Здравствуйте! А если добавить ещё один ген, который позволяет случайно перепрыгнуть уровни.

    • @foo52ru
      @foo52ru  10 месяцев назад +1

      Есть что то подобное, я не стал описывать все гены., что бы не перегружать ролик. На одном уровне могут оказаться сегменты, использующие данные из разных колонок

    • @user-xm3ow9ff9q
      @user-xm3ow9ff9q 9 месяцев назад

      ​@@foo52ruинтересно! Прошу добавьте, пожалуйста, список всех генов в описание к видео. Так и видео перегружено не будет и можно пофантазировать :)

  • @YaShoom
    @YaShoom 10 месяцев назад

    10:33 в голове промелькнула "Миазмата" и вспомнился ГКронд.

  • @Whats_my_name_huh
    @Whats_my_name_huh 10 месяцев назад +1

    Ура травка!!!

    • @Whats_my_name_huh
      @Whats_my_name_huh 10 месяцев назад +1

      Звучит так будто кто-то может понять не правильно. Да нет, это бред

    • @foo52ru
      @foo52ru  10 месяцев назад +9

      страшно лайк такому комменту ставить :)

  • @DZgas
    @DZgas 10 месяцев назад

    А что за программа была показана в самом конце видео?

  • @Anti_During
    @Anti_During 10 месяцев назад

    Я помню, в прошлый раз мы задались вопросом: как понять, что есть красивое )

  • @florizelus
    @florizelus 9 месяцев назад

    Практический интерес представляют подобные модели по изменению климата. Там большой простор для цифрошаманских идей. Но можно легко голову сломать. Одному человеку такое не под силу. знакомиться с проблемой можно в статье
    Naked Science
    "Плиоценовое предупреждение: чем грядущие дожди угрожают югу России и центру Африки?"

  • @dr.yasher5565
    @dr.yasher5565 9 месяцев назад

    Было бы круто увидеть всё тоже самое, но только не в 2д, а в 3д

  • @StalkTz
    @StalkTz 10 месяцев назад

    Ave César

  • @user-yn7ue1lk6u
    @user-yn7ue1lk6u 9 месяцев назад

    А скелетную анимацию движения от ветра в этой модели можно сделать?

  • @florizelus
    @florizelus 9 месяцев назад

    Теперь осталось пойти в обратном направлении - прочитать по лицу человека какие гены у него . Ну и потом исправить.

    • @florizelus
      @florizelus 9 месяцев назад

      Если кто-то умеет предсказывать будущее, то значит и прошлое.