Рубрика «математика» - 61

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

Читать полностью »

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

Классический пример системы с простыми правилами и сложным поведением — клеточные автоматы, именно на них я и ориентировался, пытаясь подобрать правила. Конечно же, для клеточных автоматов правила будут в большинстве случаев проще. Но частицы могут быть красивее!

Под катом много мегабайт гифок.

Жизнь на частицах - 1

Читать полностью »

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

Моделирование метрополиса - 1

В 1984 году разработчик Уилл Райт как раз завершил работу над своей первой видеоигрой в жанре shoot-em-up под названием Raid on Bungeling Bay. В ней игрок управляет вертолётом, сбрасывающим бомбы на вражеские цели, расположенные на цепи островов. Райт был доволен своей игрой, получившей успех у покупателей и критиков, но даже после её выпуска продолжал экспериментировать с редактором рельефа, который использовал для дизайна уровней Raid. «Оказалось, что мне было гораздо интереснее заниматься этой частью, чем играть в саму игру и бомбить цели», — рассказывал Райт Onion AV Club. Очарованный создаваемыми островами, Райт продолжал добавлять в редактор уровней новые функции, создавая такие сложные элементы, как автомобили, люди и дома. Он был восхищён идеей сделать эти острова больше похожими на города, и продолжал выдумывать способы сделать мир «живым и более динамичным».

Пытаясь разобраться в том, как функционируют реальные города, Райт нашёл книгу 1969 года Джея Форрестера под названием Urban Dynamics. Форрестер был инженером-электротехником, начавшим вторую карьеру в области компьютерных симуляций; в Urban Dynamics используется его методология симуляции, позволившая ему предложить теорию о развитии и увядании городов, вызвавшую противоречивые отзывы. Райт использовал теории Форрестера, чтобы превратить создаваемые в редакторе уровней города из статичных карт зданий и дорог в живые модели растущего метрополиса. Со временем Райт убедился, что «подопытный город» был увлекательной видеоигрой без логического конца. После выпуска в 1989 году игра стала безумно популярной, продалась миллионами копий, выиграла десятки наград, зародила целую франшизу последователей и десятки подражателей. Она называлась SimCity.
Читать полностью »

Жак Кернер — старший инженер-разработчик ПО в Avalanche Studios.

Физика игрового торнадо: как реализована аэродинамика в Just Cause 4 (трафик) - 1

Как будто раньше игра была недостаточно безумной

Введение

Серия игр Just Cause и Avalanche Studios известны своей технологией открытого мира, обеспечивающего разнообразный и увлекательный игровой процесс. В последней версии игры — Just Cause 4 — добавлены ветер и погодные катаклизмы, ставшие новинкой в стеке технологий, углубляющих игровой процесс. Но экстремальные природные условия изначально задумывались не просто как способ симуляции более правдоподобного мира. Ярость природы управляется силами зла, противостоящими Рико Родригесу. Мы намеревались сделать так, чтобы ветер проявлялся более явно и экстремальные погодные условия не выглядели как внезапные события, чуждые этому миру. В этой статье представлены техники, разработанные нами для реализации ветра во всех его проявлениях с физической точки зрения, а также реакции на него всех объектов.

[Под катом около 120 МБ файлов GIF]
Читать полностью »

Несколько дней назад я провел онлайн-контест по игре.
В онлайн-контесте приняло участие 1199 человек, а решений набралось больше 5000, среди которых 61 решение — попытки обойти систему с помощью нахождения уязвимостей. Это очень круто, спасибо всем, кто принял участие.
Читать полностью »

image

В 1974 году британский математик Роджер Пенроуз создал революционный набор плиток, который можно использовать для заполнения бесконечной плоскости никогда не повторяющимся узором. В 1982 году израильский кристаллограф Даниэль Шехтман открыл металлический сплав, атомы которого были выстроены в порядке, никогда ранее не встречавшемся в материаловедении. Пенроуз достиг масштабного общественного признания, редко достающегося математикам. Шехтман получил Нобелевскую премию. Оба учёных бросили вызов человеческой интуиции и изменили основы понимания структуры природы, обнаружив, что бесконечная вариативность может возникать даже в высокоупорядоченной среде.
Читать полностью »

Большинство двухмерных квазислучайных методов рассчитано на сэмплирование в единичном квадрате. Однако в компьютерной графике также очень важны треугольники. Поэтому я описал простой метод прямого построения для равномерного покрытия последовательностью точек треугольника произвольной формы.

Равномерное распределение точек в треугольнике - 1

Рисунок 1. Новый прямой метод построения открытой (бесконечной) квазислучайной последовательности с низким расхождением в треугольнике произвольной формы и размера. На рисунке показаны распределения точек в пятнадцати случайных треугольниках для первых 150 точек.

Краткий обзор

Последовательности с низким расхождением (low discrepancy), равномерно сэмплирующие/заполняющие квадрат, активно изучались почти сотню лет. БОльшую часть этих квазислучайных последовательностей можно расширить до прямоугольников простым растягиванием, не сильно повредив при этом расхождению.

Однако в этом посте мы рассмотрим интересное и важное расширение последовательностей с низким расхождением на произвольный треугольник.
Читать полностью »

В 2018 наша команда традиционно приняла участие в RecSys Challenge. Это ежегодный конкурс по рекомендательным системам, проводимый в рамках конференции RecSys. Он не такой масштабный, как конкурсы на Kaggle, но считается одним из самых престижных соревнований по рекомендательным системам. В этот раз задача была музыкальной — нужно было построить систему автоматического продолжения плейлистов. В этом посте я подробно рассказываю о нашем решении. Приглашаю под кат.

Как мы решали задачу продолжения плейлистов на RecSys Challenge и заняли 3 место - 1

Читать полностью »

Меня давно занимает тема познания. Так я столкнулся с изречением Сократа — «Я знаю, что ничего не знаю», с эффектом Даннинга-Крюгера. Уверился в истинности этих концепций. Увидел их взаимосвязь. А кроме того мне у меня появилась уверенность, что можно математически обосновать наличие эффекта Даннинга-Крюгера.

Читать полностью »

Привет! В данной статье представлена простая реализация Reflective Shadow Maps (алгоритм описан в предыдущей статье). Далее я объясню, как я это сделал и какие подводные камни были. Также будут рассмотрены некоторые возможные оптимизации.

image
Рисунок 1: Слева направо: без RSM, с RSM, разница
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js