Прогаем с кенгурой
Рандомно генерить амебок (визуализация параметров симуляции) вышло залипательнее, чем сама симуляция 🤠
Надо бы в будущих версиях сделать плавный переход между амебками при смене параметров.
Придется правда затаскивать вьюмодель для вьюхи - сейчас оно обходится без нее - контроль параметров осуществляется ее парентом, а она только рисует и ловит тачи, если попросили.
Не идеально, да, но для первой версии сгодится. Времени было одни выходные на собрать новую песочницу.
Придется правда затаскивать вьюмодель для вьюхи - сейчас оно обходится без нее - контроль параметров осуществляется ее парентом, а она только рисует и ловит тачи, если попросили.
Не идеально, да, но для первой версии сгодится. Времени было одни выходные на собрать новую песочницу.
💯6
This media is not supported in your browser
VIEW IN TELEGRAM
Эксперименты по сбору пресетов к скорому релизу песочницы
👀1
В преддверии релиза физарума расскажу, пожалуй про остальные песочницы.
>>Тиамат<<
Это первая песочница, про клеточные автоматы. Начиналась на тему потыкать SwiftUI, и симуляция там была тупо как заглушка. Теперь это уже полноценная песочница для экспериментов с клеточными автоматами: редактор поля, правил и прочее.
На ней же отлаживали процессы в команде, делали эксперименты с яблочной инфрой и онбордили людей. Теперь просто ждет, когда я доделаю последнюю фичу про флотовые правила, но там вопрос исключительно в UX.
Попробовать можно тут: https://apps.apple.com/app/apple-store/id1580189385
Что такое клеточные автоматы рассказывал тут: https://youtu.be/F7z_MHX3AtA
>>Тиамат<<
Это первая песочница, про клеточные автоматы. Начиналась на тему потыкать SwiftUI, и симуляция там была тупо как заглушка. Теперь это уже полноценная песочница для экспериментов с клеточными автоматами: редактор поля, правил и прочее.
На ней же отлаживали процессы в команде, делали эксперименты с яблочной инфрой и онбордили людей. Теперь просто ждет, когда я доделаю последнюю фичу про флотовые правила, но там вопрос исключительно в UX.
Попробовать можно тут: https://apps.apple.com/app/apple-store/id1580189385
Что такое клеточные автоматы рассказывал тут: https://youtu.be/F7z_MHX3AtA
🔥4❤2
Forwarded from Генканал
Media is too big
VIEW IN TELEGRAM
Lambdas, lambdas and more lambdas
Встреча прошла с участием Питера Пасмы — генеративного художника из Нидерландов, который рассказал о своем исследовании минимальных представлений алгоритмов, бинарном λ-исчислении и компрессии программ. Обсуждались как теоретические основы (λ-исчисление, Колмогоровская сложность), так и практические эксперименты: генерация SVG-графики с помощью сверхкоротких программ, оптимизация кода, автоматизация перестановки аргументов и поиск минимальных описаний.
⏱️ Таймкоды:
00:00 — Приветствие, запуск записи, знакомство
02:10 — Введение в λ-исчисление, базовые понятия
06:40 — Числа Чёрча, функции, каррирование
11:30 — Колмогоровская сложность и минимальное описание
15:00 — Бинарное λ-исчисление: идея, кодировка, мотивация
20:45 — Примеры кодирования чисел и функций
26:00 — Парсер и исполнение λ-выражений на JavaScript
32:40 — Преобразование в бинарный вид, оптимизация
38:30 — Генерация SVG-графики через минимальные программы
45:00 — Автоматизация оптимизации, перестановка аргументов
50:20 — Вопросы про эффективность и кодирование
54:00 — Практические ограничения, перспективы
58:30 — Заключение, вопросы слушателей, ресурсы
#meetup
Встреча прошла с участием Питера Пасмы — генеративного художника из Нидерландов, который рассказал о своем исследовании минимальных представлений алгоритмов, бинарном λ-исчислении и компрессии программ. Обсуждались как теоретические основы (λ-исчисление, Колмогоровская сложность), так и практические эксперименты: генерация SVG-графики с помощью сверхкоротких программ, оптимизация кода, автоматизация перестановки аргументов и поиск минимальных описаний.
⏱️ Таймкоды:
00:00 — Приветствие, запуск записи, знакомство
02:10 — Введение в λ-исчисление, базовые понятия
06:40 — Числа Чёрча, функции, каррирование
11:30 — Колмогоровская сложность и минимальное описание
15:00 — Бинарное λ-исчисление: идея, кодировка, мотивация
20:45 — Примеры кодирования чисел и функций
26:00 — Парсер и исполнение λ-выражений на JavaScript
32:40 — Преобразование в бинарный вид, оптимизация
38:30 — Генерация SVG-графики через минимальные программы
45:00 — Автоматизация оптимизации, перестановка аргументов
50:20 — Вопросы про эффективность и кодирование
54:00 — Практические ограничения, перспективы
58:30 — Заключение, вопросы слушателей, ресурсы
#meetup
👍1
Итак, вторая песочница
>>Квантум<<
Здесь - про взаимодействие частиц. В интернете оно зовется Particle Life, но у меня немного другие функции - более физические (kmM/r^2). То есть это симуляция почти про задачу трех тел, только тел может быть до 10000.
Я НЕ использовал всякие специально для этого созданные подходы типа Барнеса-Хута. Во-первых, оно вполне себе отлично работает на современном железе и так, во-вторых, не придумал быстро, как затащить его на видюху, а долго думать - свободного времени нет. Может, когда-нибудь затащу и можно будет на пару порядков увеличить число частиц (правда там уже их рендеринг встрянет).
Попробовать можно тут: https://apps.apple.com/app/apple-store/id6504465371
Как это работает, рассказывал тут: https://youtu.be/IPrP0BLocW4 и https://youtu.be/sSzRzFtI2KQ
>>Квантум<<
Здесь - про взаимодействие частиц. В интернете оно зовется Particle Life, но у меня немного другие функции - более физические (kmM/r^2). То есть это симуляция почти про задачу трех тел, только тел может быть до 10000.
Я НЕ использовал всякие специально для этого созданные подходы типа Барнеса-Хута. Во-первых, оно вполне себе отлично работает на современном железе и так, во-вторых, не придумал быстро, как затащить его на видюху, а долго думать - свободного времени нет. Может, когда-нибудь затащу и можно будет на пару порядков увеличить число частиц (правда там уже их рендеринг встрянет).
Попробовать можно тут: https://apps.apple.com/app/apple-store/id6504465371
Как это работает, рассказывал тут: https://youtu.be/IPrP0BLocW4 и https://youtu.be/sSzRzFtI2KQ
App Store
Quantum - Particle Life
Experience the Hidden World of Particles
Immerse yourself in Quantum, a cutting-edge simulation environment capable of modeling up to 10,000 particles in real time. Dive into the mesmerizing complexities of natural phenomena—from crystallization and thermodynamics…
Immerse yourself in Quantum, a cutting-edge simulation environment capable of modeling up to 10,000 particles in real time. Dive into the mesmerizing complexities of natural phenomena—from crystallization and thermodynamics…
🔥2❤1
Прогаем с кенгурой
Итак, вторая песочница >>Квантум<< Здесь - про взаимодействие частиц. В интернете оно зовется Particle Life, но у меня немного другие функции - более физические (kmM/r^2). То есть это симуляция почти про задачу трех тел, только тел может быть до 10000. …
Немного про реализацию:
Сделано оно максимально тупо.
- Есть два буфера: с одного читаем, в другой пишем, потом меняем местами - пинг-понг то бишь
- На число частиц создаем тредов на видюхе
- В каждом треде считаем данную частицу относительно всех остальных
Да, по сути у нас O(n^2) довольно тяжелых вычислений. Альтернатива
1. Затащить Барнеса-Хута, но там надо считать дерево на видюхе, при этом в худшем и среднем случаях оно все равно будет как и раньше + собственно дерево.
2. Делать несколько проходов и, например, сохранять расстояния, чтобы не пересчитывать каждый раз. И оно могло бы выстрелить, если б не уперлось в работу с памятью, которая на нынешних видюхах медленнее, чем арифметика.
Еще момент: для симуляции высоких скоростей пришлось масштабировать время, иначе частицы тупо пролетают сквозь друг друга.
По рендеру все просто: тупо рисуем .point-ы нужного размера. Таким образом, теоретически нет ограничений на размер поля - только на максимальный размер пойнта (256).
Сделано оно максимально тупо.
- Есть два буфера: с одного читаем, в другой пишем, потом меняем местами - пинг-понг то бишь
- На число частиц создаем тредов на видюхе
- В каждом треде считаем данную частицу относительно всех остальных
Да, по сути у нас O(n^2) довольно тяжелых вычислений. Альтернатива
1. Затащить Барнеса-Хута, но там надо считать дерево на видюхе, при этом в худшем и среднем случаях оно все равно будет как и раньше + собственно дерево.
2. Делать несколько проходов и, например, сохранять расстояния, чтобы не пересчитывать каждый раз. И оно могло бы выстрелить, если б не уперлось в работу с памятью, которая на нынешних видюхах медленнее, чем арифметика.
Еще момент: для симуляции высоких скоростей пришлось масштабировать время, иначе частицы тупо пролетают сквозь друг друга.
Туннельный эффект - доказательство, что наш мир - симуляция?
По рендеру все просто: тупо рисуем .point-ы нужного размера. Таким образом, теоретически нет ограничений на размер поля - только на максимальный размер пойнта (256).
💯5
Прогаем с кенгурой
Итак, вторая песочница >>Квантум<< Здесь - про взаимодействие частиц. В интернете оно зовется Particle Life, но у меня немного другие функции - более физические (kmM/r^2). То есть это симуляция почти про задачу трех тел, только тел может быть до 10000. …
Media is too big
VIEW IN TELEGRAM
Чтобы не было скучно и сухо, вот как это выглядит
🔥6
Прогаем с кенгурой
В преддверии релиза физарума расскажу, пожалуй про остальные песочницы. >>Тиамат<< Это первая песочница, про клеточные автоматы. Начиналась на тему потыкать SwiftUI, и симуляция там была тупо как заглушка. Теперь это уже полноценная песочница для экспериментов…
Media is too big
VIEW IN TELEGRAM
ну и про клеточный автоматы тоже сюда же
👍4
Media is too big
VIEW IN TELEGRAM
а завтра, если яблоки апрувнут, релизну физарум - он вот так выглядит
❤7
Пока яблоки делают мне мозг с ревью физарума, вот вам видео, как собрать амебку в шейдере на SDF (такое можно затащить в SwiftUI-ный .colorEffect начиная с iOS17 и будет вам кастомный компонент - выше есть запись с экрана его).
Собираю я ее в KodeLife. Если вам часто приходится писать шейдеры - советую. Отличный инструмент для их прототипирования.
https://youtu.be/za4wfmEnN6o
Собираю я ее в KodeLife. Если вам часто приходится писать шейдеры - советую. Отличный инструмент для их прототипирования.
https://youtu.be/za4wfmEnN6o
YouTube
SDF: Рисуем фантастическую тварь формулами в шейдере
В этом видео применяем знания о Signed Distance Functions (SDF) на практике — создаём процедурную амёбу в KodeLife! Построение формы, покраска, добавление деталей и интерактивности — всё происходит прямо в шейдере, без текстур и моделей.
Основы SDF: h…
Основы SDF: h…
👍8🔥7
This media is not supported in your browser
VIEW IN TELEGRAM
натуральный глитч - тупо рисуем мусор из неинициализированной переменной или даже вот так:
У метала еще есть способ загрузки "фреймбуфера" .dontCare. Когда он не перекрывается новым цветом, там может оказаться что угодно - в основном мусор, но иногда и куски других текстур. То есть можно взять
float4 draw(float v) {
}У метала еще есть способ загрузки "фреймбуфера" .dontCare. Когда он не перекрывается новым цветом, там может оказаться что угодно - в основном мусор, но иногда и куски других текстур. То есть можно взять
loadAction=.dontCare, storeAction=.store и получить текстуру с глитчем натуральным на выходе - даже дроколы дергать не надо и шейдеры писать.👍3
Если вам надо заинтересовать школьников или студентов в полярной системе координат - вот, например, кленовый листочек)))
https://www.desmos.com/calculator/fttpzcif59
https://www.desmos.com/calculator/fttpzcif59
Desmos
Desmos | Graphing Calculator
Explore math with our beautiful, free online graphing calculator. Graph functions, plot points, visualize algebraic equations, add sliders, animate graphs, and more.
❤3
Для тех, кто пишет под мак.
Если передать в параметры запуска
Вдруг кому пригодится
Если передать в параметры запуска
-_NS_4445425547 YES, то вам станет доступно дополнительное дебажное меню, где вы сможете посмотреть и поменять всякое.Вдруг кому пригодится
🔥18
Через пару минут буду ковырять GBStudio - конструктор игр под GameBoy. Пару месяцев назад посоветовали потыкать - никак руки не доходили.
Если делать нечего - подключайтесь
https://www.youtube.com/live/HZyAZeCqKz8
Если делать нечего - подключайтесь
https://www.youtube.com/live/HZyAZeCqKz8
YouTube
GBStudio - конструктор игр под GameBoy. Смотрю, что оно умеет
В этом стриме изучаю GBStudio — визуальный движок/конструктор для создания игр под эмулятор Game Boy! Смотрим, как устроен редактор, что можно сделать без программирования, и пробуем поменять пример игры: создать сцены, добавить акторов, настроить взаимодействие…
👍1
В соседнем канале зашла речь за древности, вспомнил, что у меня есть книженция с 3.5” дискетой. Где-то еще была 5”, но затерялась при переездах.
Кто-то еще помнит, интересно, времена, когда архив разбивали на части, чтобы каждую уместить на дискету?
Кто-то еще помнит, интересно, времена, когда архив разбивали на части, чтобы каждую уместить на дискету?
🤝5👍2👀1
Media is too big
VIEW IN TELEGRAM
Яблоки наконец прочитали, что я им написал в Review notes (но все еще не ревьювнули покупки-донаты за 3 недели). Но не суть - я релизнул
>>Physarum<<
Если в клеточных автоматах мы меняем значения ячейки (пикселя), а в симуляции частиц - двигаем частицы, то здесь мы двигаем частицы, которые меняют значения пикселей.
Более детально, как оно работает, сделаю видео позже, а пока можете потыкать тут
>>Physarum<<
Если в клеточных автоматах мы меняем значения ячейки (пикселя), а в симуляции частиц - двигаем частицы, то здесь мы двигаем частицы, которые меняют значения пикселей.
Более детально, как оно работает, сделаю видео позже, а пока можете потыкать тут
🔥11
Ревью у яблок это тот еще квест. История:
Акт 1.
Делали эксперимент с рекламой. Затащили, настроили трекинг пользовтеля - все ок. Расширять политику не возброняется - расширили.
Акт 2.
Удалили рекламу - убрали трекинг. Яблоки требуют указать флаги, что есть трекинг и спрашивать его, так как в политике (для стора) он укзан. Пишем, что трекинга нет, а политику поменять не можем, так как она для стора сразу, а в сторе трекинг есть. Таким образом провели несколько итераций режектов и сабмитом ревью.
Акт 3.
Решили наконец через апелляцию - иначе никак это не работает.
Тут два вопроса к этой истории:
- Почему рядовые проверяющие вообще не читают комментарии и переписки к ревью?
- Почему за столько лет яблоки не исправили как-то эту проблему курицы и яйца (а она действительно старая)?
Акт 1.
Делали эксперимент с рекламой. Затащили, настроили трекинг пользовтеля - все ок. Расширять политику не возброняется - расширили.
Акт 2.
Удалили рекламу - убрали трекинг. Яблоки требуют указать флаги, что есть трекинг и спрашивать его, так как в политике (для стора) он укзан. Пишем, что трекинга нет, а политику поменять не можем, так как она для стора сразу, а в сторе трекинг есть. Таким образом провели несколько итераций режектов и сабмитом ревью.
Акт 3.
Решили наконец через апелляцию - иначе никак это не работает.
Тут два вопроса к этой истории:
- Почему рядовые проверяющие вообще не читают комментарии и переписки к ревью?
- Почему за столько лет яблоки не исправили как-то эту проблему курицы и яйца (а она действительно старая)?
This media is not supported in your browser
VIEW IN TELEGRAM
Теперь она плавно переходит между состояниями.
Обошелся без вью модели биндингами. Не люблю плодить сущности без необходимости
Обошелся без вью модели биндингами. Не люблю плодить сущности без необходимости
🔥6👍2