Алгоритм генерации цифровых растений.
HTML-код
- Опубликовано: 29 авг 2023
- В ролике описываю алгоритм, который я использовал в проекте "Digital Garden" (цифровой сад).
Задача состояла в том, что бы генерировать виртуальные растения с возможностью скрещивания их между собой.
Первое видео по проекту ( • Проект цифрового сада )
Поддержать канал можно на Boosty ( boosty.to/foo52ru ) Наука
Давайте признаем, это самый лучший канал с экспериментами в мире программирования, а энтузиазм этого человека настолько велик, что порой создаёт гравитацию.
Алюминь! 🙏
Это точно
Я бы ещё Onigiri поставил в ряд)
и кибербиологии
"порой создаёт гравитацию", а порой антигравитацию) Тут сразу вспоминается анекдот:
Раньше яблони выстреливали яблоками в случайных направлениях. Но те, которые выстреливали яблоками вверх, улетели в космос и не дали потомства. Так появилась гравитация.
Теперь этот день кажется не таким плохим.
Было бы очень интересно увидеть объединение этого проект с ранее созданным "эволюцию цифровых деревьев"
согласен, но алгоритм придётся доработать, было бы интересно посмотреть на эти внеземные, но логичные растения
@@Bug753 Spore-подобное что-то.
@@genybr почти, только там будет естественный вопрос
@@genybrбыло бы славно
@@genybrНичего общего. В spore нету ни случайной генерации растений, ни тем более естественного отбора.
Даёшь селекцию во славу субъективной красоты!
Твои видео мотивируют меня возвращаться к написанию своей графической библиотеке, с помощью которой подобные проекты было бы реализовать гораздо проще)
У живых деревьев из большого ствола могут расти как большие ветки, так и маленькие, Возможно стоит добавить возможность растить на ветке не только ветки след уровня, но и через несколько уровней. (т.е. на большой ветке тоже могут быть листочки.)
но тут таблицей уже не обойтись будет
@@IceVenOm98 Еще один ген который задает разброс в уровне детей.
@@BolT007BooNETдиапазон разоброса и вероятность
@@leningradetsfromshusharsta985 мне кажется лучше геометрическое распределение - вероятность пропустить уровень, если пропустился, пробуем повторить.
Звучит интереснее, согласен)
Посмотрел всё видео на 40 х, однозначно лайк!
Мне понравилось что все параметры алгоритма так хорошо объяснены и что они просты для понимания) По такому видосу можно просто взять и свою версию сделать)
Бро, это супер круто, было бы здоровски сделать сайт с деревьями, где можно в настройках гены покрутить и получить своё дерево)
Только запустил, сразу поставил лайк, спасибо за труд!
Я в ютубе пока ничего подобного вашим видео не встречала. Очень интересно, просто завораживает всё, что вы показываете!
Какое мощное развитие получила игра "Жизнь"!
Давай алгоритм генерации цифровых водрослей, только что бы в этом был смысол надо добавить естественный отбор
Наконец - то, новое видео. Жду видео с этого канала больше, чем что либо еще.
вот так же создавалась и наша реальность.
всё больше удостоверяюсь, что бо́льшую часть нашей фауны составляют креативы студентов-практикантов.
Это лучше, чем вообще хаотичные метания рандомных процессов. Плюс человек случайно появившийся. У павлинов самки выбирали самого хвостатого, у людей самого смекалистого и всё.
Внезапный вывод про красоту порадовал, продолжайте в том же духе!
Достойно уважения!!!
Как же круто понимать, что один из твоих самых любимых ютуберов живёт рядом
Всегда неожиданно, но приятно.
Контент суперский, спасибо за труд!
Ещё было бы интересно добавить блок генов, отвечающих за появление плодов на концах веток со своими параметрами формы, длины, цвета
Вот она, красота логики и алгоритма! завораживающе, притягивающе познавательно! 🤗🔥
Хорошо, очень хорошо... Но мало, очень мало!
ура новое видео у техно шамана
Всегда жду ваших видео! это абсолютно интересно!
Жесть, сначала подумал что это будет что-то типо копирки прошлого ролика, но лучше. А тут прям объяснение генома, имба
Крутейших алгоритм для генерации инопланетной флоры в играх 👍🔥
Наконец то раскрыта тайна деревьев foo52!
Отличный проект. Думаю, это было бы интересное приложения, где можно было бы случаяным образом получать деревья, скрещивать их, дарить другим пользователям
Мне конечно очень понравилось, но мы бы хотели больше того что ты показал в конце.
Интересно было бы увидеть эволюцию цифровых растений в рамках какой нибудь среды.
Вроде и простые алгоритмы, а всё равно получается какая-то магия)
Можно сделать обои для Wallpaper Engine с анимацией роста рандомных растений
Как всегда, красиво и завораживающе.
Твои видео заслуживают больше лайков, можешь сделать в следующем видео расширенную борьбу кланов с новыми генами и и самих кланов больше!?
Ура, новое видео! 🥳🎉 Один из любимых каналов 😀
Интерестно вышло, спасибо!
ку, круто что видосы пилишь, больше всего мне понравилось где в разных средах развивались, а потом столкнули эти миры
Каждое видео с этого канала содержит некоторую философскую и научную экзистенциальную мысль и заставляет задуматься. Я ни разу не программист, но всегда интересно.
Обожаю твои видео! Выкладывай их почаще пожалуйста
Супер-крутой канал! Так держать!
Проект - пушка ! Автор - ты невероятный молодчина !
Более большие ролики с показанием эволюции с интересными клетками или чем то другим, за чем интересно смотреть.
Деревья конечно не плохие, но я на них насмотрелся уже давно и ничего нового не увидил.
Просто превосходно!
жЫрный лайк!
ТехноШаман, благодарю за интересные эксперименты. Касаемо деревьев, где-то читал, что бифуркация происходит таким образом, что если проводить горизонтали после каждого деления , то количество ветвей будет равняться числам Фибоначчи.
Быть может стоит реализовать что-то подобное?
P.S. Ютуб заблокировал предыдущий коммент с картинкой, но иллюстрации можно найти по запросу "Числа Фибоначчи ветви дерева"
Вот это прям очень круто!
Удивительно!!!!❤
У живых деревьев:
1) следующий уровень может быть на конце веточки сразу несколько (тут без изменений)
2) могут быть чередоваться, например, 5 шагов + веточка вправо. 5 шагов + веточка влево, всего, например, 50 шагов.
3) толщина ветки = количество запасенной энергии
4) ширина листа = количество энергии, которое запасает лист
5) рост идет по сегментам. Т.е. вырос сегмент, сразу листья. Второй год -- сегмент 2 уровня + листья и т.д. Плодоносят начиная с уровня сегмента 3 и далее.
6) солнце не в зените. Т.е. утром освещается восточная сторона, вечером -- западная. Листья могут давать тень в зависимости от своей ширины, до земли доходит лишь некоторый процент. Лучи солнца параллельны, можно как водопад, а растение поворачивается, мешая "протеканию". Камера фиксирована на растениях и будет казаться, что это солнце двигается вокруг растений, а на самом деле наоборот. Еще у солнца вечером и утром меньше мощность, т.к. проходит через большой объем атмосферы, в зените яркость максимальна, на восходе/закате минимальна. И растения сбоку и сверху мешают, но есть немного энергии, которые доходят и до земли. Например, 1%.
7) Привлекательность для насекомых. Они любят нектар и яркие цвета. А нектар -- это расходы энергии. Цвет -- это тоже расходы энергии, но меньше.
7.2) фактор Пчелки-программиста, который может усилить влияние на растения, вырезая "сорняки" и оставляя красивые растения. Например, сказав "Да будет теплица и искусственное освещение исключительно сверху!", а вокруг дикий лес...
8) уровней может быть меньше. Например, 3: ствол, листья, цветы/плоды/семена. Но уровень ствола может быть еще на следующих 5-6 уровнях, просто дублируя себя. С п.5 это описывает обычное дерево
9) невостребованные ветки засыхают. Те, что запасают, тратят энергию на свое существование.
мне нравится твой канал (почти)! продолжай выпускать видосы про эволюцию, это реально интересно, наверное)
Великолепно !!!!
это потрясающе
рад то что ролеки чаше выпускаеш. так деражть брат
"Ну а дальше все просто... почти."
Очень круто
Отлично как всегда
Видео классное, тк тема очень интересная👍
Гениально! Больше сказать нечего.
Талантливо
Круто, спасибо! ❤
Фига как круто!!!!
Было бы классно посмотреть ещё на лес одного вида, мне кажется это было бы очень красиво
Классно!
эх, каким бы я был человеком, если бы у меня был хотя бы знакомый такой как автор... что-то как то всё у нас странно, почему то все по алкоголю специалисты (
Класс😳
Круто однако
Круто 👍
Мужик, ты реально техношаман
красиво
сразу хочется кинуться и начать кодить
Усредненные параметры дают красоту вида отсекая аномалии. А красота Царства растений в максимальном разнообразии форм, цветов и т.д,
12:10 Звук и видео прям как мои жигули гниют стоя в гараже.
Привет товарищ нижегородец, а не хочешь обучающие видео поделать по програмированию?) Я бы посмотрел. И как всегда прошу сделать что либо по покеру, было бы интересно как агенты играют друг сс другом в покер и учатся
Больше похоже на морских жителей - коралловых полипов.
Эх, мне бы такое дерево, в рамочку да на стол)
Нужно добавить ген случайного устаревания (сгнило и отвалилось) веток. Более живенько будет выглядеть.
А если добавить свет, к которому тянутся растения и гравитацию, которая изгибает ветки, то от половины генов можно отказаться. Плюс цвет света тоже может определять цвет листьев. Тут немного в биологию вдатся надо. Плюс движение источника света. И по идее получится почти рандом.
Гений
"Ни хрена не понял , но очень интересно!"
Т-е получается, вполне можно сделать генератор случайных красивых растений, если грамотно выбрать параметры и задать в качестве базы некое непримечательное растение.
Причём на всякий случай собрать непримечательных растений как-можно больше. А затем мутировать у этих растений случайным образом треть от генов, или даже половину. Ну или даже генерировать треть чистых изменений и четверть - среднее между случайным значением и заданным в шаблоне.
Вот бы эволюционные алгоритмы применялись для создания игровой среды и существ, такие миры выглядели бы необычно и естественно одновременно. Например хотя бы к программе speed tree прикрутить такой модуль для генерации разных пород.
Привет! Ты видел, что сделали в относительно недавней (1-1,5 годичной давности) работе "Growing Neural Cellular Automata" (есть буквально интерактивная версия)? Уверен, что такое для генерации растений (да и любой имитации жизни с дифференциацией клеток) было бы просто бомбой, чем-то новым и мозговзрывающим.
В устах программера слова
Я так думаю !!! Наверно !!!
Либо не типичные :)
Либо стимулирующие к новым подвигам
По-моему алгоритму не хватает какого то элемента случайности. Тогда будет более разнообразным.
Рандом используется для небольших смещений и при скрещивании. Это обосновано тем, что полный рандом чаще будет выдавать какую-то кривую хрень, чем "красивые" формы
Красиво. А не удобнее ли работать с цветом в HSV?
Можно добавить реалистичную фичу, усли ветка растёт ниже основания, она или отмирает или отрастает вверх(скачком меняется параметр направления на перпендикулярно вверх и опционально, сразу начинается рост следующего уровня). Так можно сделать ползучие кустарники...
В живой природе деревья разные, но повторяющиеся. Допустим, берёза - это дерево определенного цвета и формы, но в мире миллионы берёз. Какие параметры из вашего списка будут "базовыми" (которые нельзя менять внутри вида) и дополнительными (которые сделают разные деревья одного вида отличающимися друг от друга)? Нарисуйте рощу, дубраву, лесок :)
Так это было в 2д? Очень круто придумано
Интересно, с генерацией звуков есть подобные эксперименты?!
Красота! Можно продавать алгоритм Джеймсу Кэмерону, пускай снимает третий Аватар )
получилось здорово, это в чем написано? и на чем?
не хватает листьев и некоторых природных соотношений, Ловчиков эту тему изучал
Здравствуйте! А если добавить ещё один ген, который позволяет случайно перепрыгнуть уровни.
Есть что то подобное, я не стал описывать все гены., что бы не перегружать ролик. На одном уровне могут оказаться сегменты, использующие данные из разных колонок
@@foo52ruинтересно! Прошу добавьте, пожалуйста, список всех генов в описание к видео. Так и видео перегружено не будет и можно пофантазировать :)
10:33 в голове промелькнула "Миазмата" и вспомнился ГКронд.
Ура травка!!!
Звучит так будто кто-то может понять не правильно. Да нет, это бред
страшно лайк такому комменту ставить :)
А что за программа была показана в самом конце видео?
Я помню, в прошлый раз мы задались вопросом: как понять, что есть красивое )
Практический интерес представляют подобные модели по изменению климата. Там большой простор для цифрошаманских идей. Но можно легко голову сломать. Одному человеку такое не под силу. знакомиться с проблемой можно в статье
Naked Science
"Плиоценовое предупреждение: чем грядущие дожди угрожают югу России и центру Африки?"
Было бы круто увидеть всё тоже самое, но только не в 2д, а в 3д
Ave César
А скелетную анимацию движения от ветра в этой модели можно сделать?
Теперь осталось пойти в обратном направлении - прочитать по лицу человека какие гены у него . Ну и потом исправить.
Если кто-то умеет предсказывать будущее, то значит и прошлое.