Warning: Undefined array key 0 in /var/www/tgoop/function.php on line 65

Warning: Trying to access array offset on value of type null in /var/www/tgoop/function.php on line 65
- Telegram Web
Telegram Web
This media is not supported in your browser
VIEW IN TELEGRAM
Интересно наблюдать за влиянием коэффициента жадности, не помню, как он правильно назвается.

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

Код в комменте
🔥102👍1
This media is not supported in your browser
VIEW IN TELEGRAM
В генклубе @gen_c неделя стеклянных эффектов, я тоже поучаствовал. За физической достоверностью не гнался, за производительностью тоже. Красиво стало, когда включил мультисемплинг для сглаживания
🔥299
Менеджер буфера обмена

Я не знаю, как без него жить. Вот, допустим, я скопировал в буфер важный текст, потом случайно туда же скопировал какую-нибудь фигню, и важный текст утрачен навсегда.

А с менеджерами буфера — красота.

Не рассказывайте никому, я знаю, это стрёмно, но я как-то раз профакапил код проекта, над которым работал три месяца. Горевал, готовился писать заново. А потом порылся в истории буфера и нашёл довольно свежую версию.

Сначала я пользовался опенсорсным Clippy, потом тем, что встроен в Альфред, сейчас рейкастовским.

В рейкастовском меня радуют вот такие фишки:
- Можно скопировать из истории буфера только нужную часть текста.
- Видно, какого числа и из какого приложения скопирован текст.
- Если вбить в строку поиска Image, найдутся все картинки.
- Текст на картинках распознаётся, его можно копировать и по нему можно искать
- Картинки из истории можно мышкой перетащить в телеграм, файндер, или куда надо. Про это у меня ещё один лайфхак, в другом посте расскажу.
- Можно выключить сохранение буфера для некоторых приложений, например, для менеджера паролей.

Как вы выживаете без менеджера буфера обмена? Или не выживаете? Или юзаете МБО? Какой ваш любимый?
👍15🔥95
Курс гендизайна в новом формате

Свершилось, сегодня мы перезапустили курс гендизайна в новом удобном формате! Теперь сразу есть доступ ко всем занятиям, можно проходить курс в любом темпе, хоть за неделю, хоть за год.
6
Курс генеративного дизайна в новом формате

В сентябре 2023 года мы перевели курс гендизайна в новый формат полуживых потоков, когда материалы постятся по расписанию в отдельных каналах на протяжении месяца.

Задумка была такая: не вываливать на ученика сразу весь материал, а давать его по кусочкам (так же, как в живом курсе). При этом живое общение заменялось чатом с нами и всеми участниками.

В января этого года мы выпустили курс «Фантастические сайты на Джаваскрипте» в новом экспериментальном формате — все материалы разбиты на каналы, но их можно читать сразу по мере прохождения курса.

И этот формат оказался удобнее, потому что можно проходить курс в своём темпе. Можно спокойно и вдумчиво, а можно заинтенсивить за неделю.

Сегодня мы перезапускаем в этом формате курс генеративного дизайна.

______

Про что курс

Этот курс — про основы программирования на JS и генерацию графики в вебе на p5.js. Ученики часто говорят, что мы приоткрываем занавесь сложного мира программирования, даём основы и классный толчок, который потом вдохновляет разбираться и изучать самому.

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

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

______

Формат

Девять телеграм-каналов с занятиями. В каждом канале — видеолекция, код, дополнительные материалы, иногда квизы для самопроверки и домашка, которую можно не делать. Вопросы и выполненные домашки можно присылать в общий чат, в приватный чат с нами или в личку.

До конца августа курс продаётся со скидкой за 5500 ₽. Первого сентября скидка закончится, и курс будет стоить 7500 ₽.

Подробное описание, программа, формат, работы выпускников, FAQ и отзывы — на лендинге.

Купить доступ можно через бота: @gendesign_bot. Он возьмёт деньги и пришлёт ссылку на вступление в канал-вступление.

setka.design
setka.design
setka.design
8
Фончики на телефон
🤔91❤‍🔥1👻1
Канал Ивана Дианова
Фончики на телефон
Да, да, это я отложку забыл удалить. А ведь когда ставил на три месяца вперёд, казалось, что уж точно наделаю каких-нибудь фончиков и вас ими порадую.

Не наделал, извините. Всё, больше никаких отложек
😁86
This media is not supported in your browser
VIEW IN TELEGRAM
Сегодня выступаю на Бигтех найт, буду с 22:40 до 24:30 лайвкодить на открытой сцене Яндекса под техно. Идеальная для этого музыка.

В этот раз экран будет уголком, на двух перпендикулярных экранах. Интересно, получится ли это обыграть как-нибудь. Вчера попробовал, вроде можно парой строчек кода добиться нужного эффекта.

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

Если вы идёте на ивент, поснимайте меня на видео, пожалуйста, в этот раз официальной видеозаписи не будет
🔥1410👍5👏1
Media is too big
VIEW IN TELEGRAM
Лайвкодинг у Яндекса на Бигтех найт

Слетал в Москву и повиджеил на сайлент диско. Это когда на площадке тихо, а колбасятся все под музыку в наушниках.

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

Сижу в аэропорту и продолжаю менять вчерашний код, не так легко остановиться. Главное — не увлечься и посадку не пропустить.

Люблю лайвкодить, зовите, если что :–)
4🔥2611👏3👍1😍1
This media is not supported in your browser
VIEW IN TELEGRAM
Вдохновляющие приёмчики

Вот интересно, что вас на творчество вдохновляет? Мне иногда хочется повторить какую-нибудь работу из пинтереса, но руки почти никогда не доходят. Гораздо более частый кейс — это новые приёмчики, техники и хаки. Они меня драйвят, так и подмывает их применить и посмотреть, что получится. Это такая мотивационная ульта, что я как-то даже попытался поставить поиск приёмчиков на поток: в гугл тасках завёл повторяющуюся задачку, чтобы каждую неделю ковырять чужой код, читать статьи в блогах и пр. Надо ли говорить, что это тут же стало обязаловкой и начало вызывать отвращение. Списки дел — отстой, вот тут я уже писал, почему. Так что я просто сидел и ждал, когда интерес возникнет сам по себе.

Ждал, ждал, дождался. Зачем-то полез в тви, а там Xor запостил безжалостно гольфнутый код. Я сам поразбирался, ничего не понял и запостил про это в генклуб. И тут же написал Саша Малафеев: оказалось, он этот код уже разобрал, но по более внятной версии, которую автор выложил на шейдертой.

Вот так я и узнал два сегодняшний приёмчика/ Первый — тональное отображение, o=tanh(o);. Второй — поворот на 90° вокруг вектора, p=v*dot(v,p)+cross(v,p);. Вдохновился, сижу в кафешке, кручу фракталы, кайф.

Могу подробнее рассказать, как это работает, дайте знать, если надо.
18🔥5👍2🥰1
Тональное отображение

Серёжа в комментах к предыдущему посту попросил подробнее рассказать про этот приём. И вы не стесняйтесь, предлагайте темы.
17
Значит, тональное отображение, оно же tone mapping. Я узнал про этот приём (как и про множество других) от Питера Пасмы, он использовал его в нфтшном проекте Skulptuur. Там сцена с глобальным освещением, то есть луч многократно отражается от объектов до тех пор, пока либо не попадёт на лампу, либо так на неё и не попадёт. Отражения луча каждый раз рандомные, поэтому значения соседних пикселей могут сильно отличаться. Картинка выходит шумной. Чтобы этот шум погасить, Питер рендерит сотни кадров и усредняет их, пока не станет аккуратно.

Так мы плавно утыкаемся в проблему: а какой яркости должна быть лампа? Если яркость 1, картинка выйдет тёмной, потому что любое отражение луча уменьшает его яркость. А это ещё полбеды. Вторые полбеды в том, что каждый кадр отражения луча случайны, он будет то попадать в лампу, то улетать в черноту. Усредним это всё, и финальная яркость будет около нуля.

А может усилить свет, скажем до 100? Но тогда прямое попадание луча в лампу будет больше единицы. Экран может показывать цвета в ограниченном диапазоне: от чёрного o=vec4(0,0,0,1), до белого o=vec4(1,1,1,1). Если попытаться показать значение ярче чем 1, например, 9e9, экран не прожжёт дырку в обоях: значение обрежется до единицы. Но вы сами знаете, к чему это приводит, если хоть раз пробовали в тёмной комнате сфоткать окно с облаками. Никаких облаков на фото не будет, только белый прямоугольник. Было бы круто видеть разницу между яркостями 1, 10, 100.

В итоге, мы хотим чего? Хотим, чтобы любое значение от 0 до ∞ после обработки стало числом от 0 до 1. Идеально подошла бы функция, которая при небольшом значении меняет значение не сильно, то есть близка к f(x)=x, а на большом приближается к единице, то есть к f(x)=1. Хорошая новость в том, что функций таких куча, на любой вкус. В предыдущем посте я использовал tanh(x), она довольно затратная в плане вычисления, зато мало буков. Про неё и про более шустрые альтернативы Xor подробно написал в статье из цикла GM Shaders, картинку для поста я взял оттуда.

В лайвкодинге тональное отображение тоже пригодится. Например, хочу далёкие объекты сделать тёмными. Пишу o+=1./dist;. Но тогда всё, что ближе единицы, сливается в ослепительно белый. И тут я гиперболический тангенс — хлоп! И уже не сливается.
93👍2🔥1
В эту пятницу в генклубе долгожданный митап, приходите смотреть, как небольшой код создаёт целые миры
3
Forwarded from Савва
Митап о генерации геометрии в реймаршинге

В эту пятницу, 26 сентября в 19:00. Ссылку на телемост запостим в @gen_c перед созвоном.

Шесть лет назад Иниго Килес выложил статью с описанием интересного алгоритма для генерации геометрии. В статье описана не столько техника в ее законченном виде, сколько общая идея. Реализовать полный потенциал метода предлагалось читателю самостоятельно.

Я хочу рассказать про то, как я генерализовал этот метод и получил крутые результаты, работающие в несколько строк кода. Покажу разные генерации на своем сетапе, обсудим вместе альтернативные варианты развития этой идеи, мб полайвкодим.
🔥16
Media is too big
VIEW IN TELEGRAM
Савва в Генклубе @gen_c рассказал про процедурную генерацию фантастических миров. Вот запись митапа, из которой вы узнаете, какие инструменты Савва использует, какие алгоритмы применяет, и ещё кучу всего интересного.

Ссылки, про которые говорим в видео:
- Статья Иниго
- Код из неё с комментариями
- Телеграм-канал Саввы, где он постит всю эту красоту @fromskintoliquid

Ютуб, ВК
1🔥76👍2
tldraw.com

Это моя любимая онлайновая рисовалка-вайтборд. Быстрая, простая, умеет всё, что надо. В рейкасте сделал быструю ссылку, чтобы всегда была под рукой.

А на скрине я разбирался, как устроен паттерн, который задизайнил @hristofer: он крафтит такую керамическую плитку, у него в профиле фотки. Оказалось, обойная группа ××, она же pg.

Какие у вас любимые рисовалки?
👍43🔥1
Я кое-что печатаю. Как думаете, что это?
🤔3
This media is not supported in your browser
VIEW IN TELEGRAM
🔥12
This media is not supported in your browser
VIEW IN TELEGRAM
5🔥5
2025/10/15 18:04:50
Back to Top
HTML Embed Code: