Представлена семантика разработанной библиотеки pde++ для программирования конечно-разностных методов в операторном стиле. Основными объектами библиотеки являются сеточная функция, сеточная ячейка и сеточные операторы, арифметические соотношения между которыми максимально приближают программный код к его математической нотации. Библиотека pde++ представлена всего несколькими заголовочными файлами, не имеет внешних зависимостей и использует концепцию ленивых вычислений.
Рубрика «математика» - 61
Компактная С++ библиотека для программирования конечно-разностных методов в операторном стиле. Часть 1. Семантика
2019-03-01 в 18:31, admin, рубрики: c++, конечно-разностные методы, математика, ПрограммированиеЖизнь на частицах
2019-02-28 в 16:08, admin, рубрики: game of life, Алгоритмы, игра жизнь, клеточные автоматы, математика, Программирование, разработка игр, частицыВсем привет! Сегодня я расскажу о своих экспериментах с системами частиц. Основной целью было нахождение простых правил, которые бы порождали интересное поведение.
Классический пример системы с простыми правилами и сложным поведением — клеточные автоматы, именно на них я и ориентировался, пытаясь подобрать правила. Конечно же, для клеточных автоматов правила будут в большинстве случаев проще. Но частицы могут быть красивее!
Под катом много мегабайт гифок.
Моделирование метрополиса
2019-02-27 в 12:23, admin, рубрики: god games, SimCity, городское проектирование, Дизайн игр, математика, симуляция жизни, Урбанизм, урбанистика, экономическая модельВ основе одной из самых знаковых игр всех времён лежит теория о том, как умирают города, внезапно оказавшая слишком влиятельной.
В 1984 году разработчик Уилл Райт как раз завершил работу над своей первой видеоигрой в жанре shoot-em-up под названием Raid on Bungeling Bay. В ней игрок управляет вертолётом, сбрасывающим бомбы на вражеские цели, расположенные на цепи островов. Райт был доволен своей игрой, получившей успех у покупателей и критиков, но даже после её выпуска продолжал экспериментировать с редактором рельефа, который использовал для дизайна уровней Raid. «Оказалось, что мне было гораздо интереснее заниматься этой частью, чем играть в саму игру и бомбить цели», — рассказывал Райт Onion AV Club. Очарованный создаваемыми островами, Райт продолжал добавлять в редактор уровней новые функции, создавая такие сложные элементы, как автомобили, люди и дома. Он был восхищён идеей сделать эти острова больше похожими на города, и продолжал выдумывать способы сделать мир «живым и более динамичным».
Пытаясь разобраться в том, как функционируют реальные города, Райт нашёл книгу 1969 года Джея Форрестера под названием Urban Dynamics. Форрестер был инженером-электротехником, начавшим вторую карьеру в области компьютерных симуляций; в Urban Dynamics используется его методология симуляции, позволившая ему предложить теорию о развитии и увядании городов, вызвавшую противоречивые отзывы. Райт использовал теории Форрестера, чтобы превратить создаваемые в редакторе уровней города из статичных карт зданий и дорог в живые модели растущего метрополиса. Со временем Райт убедился, что «подопытный город» был увлекательной видеоигрой без логического конца. После выпуска в 1989 году игра стала безумно популярной, продалась миллионами копий, выиграла десятки наград, зародила целую франшизу последователей и десятки подражателей. Она называлась SimCity.
Читать полностью »
Физика игрового торнадо: как реализована аэродинамика в Just Cause 4 (трафик)
2019-02-27 в 8:45, admin, рубрики: just cause, Алгоритмы, аэродинамика, Дизайн игр, игровая физика, игры с открытым миром, математика, разработка игр, симуляция климата, физикаЖак Кернер — старший инженер-разработчик ПО в Avalanche Studios.
Как будто раньше игра была недостаточно безумной
Введение
Серия игр Just Cause и Avalanche Studios известны своей технологией открытого мира, обеспечивающего разнообразный и увлекательный игровой процесс. В последней версии игры — Just Cause 4 — добавлены ветер и погодные катаклизмы, ставшие новинкой в стеке технологий, углубляющих игровой процесс. Но экстремальные природные условия изначально задумывались не просто как способ симуляции более правдоподобного мира. Ярость природы управляется силами зла, противостоящими Рико Родригесу. Мы намеревались сделать так, чтобы ветер проявлялся более явно и экстремальные погодные условия не выглядели как внезапные события, чуждые этому миру. В этой статье представлены техники, разработанные нами для реализации ветра во всех его проявлениях с физической точки зрения, а также реакции на него всех объектов.
[Под катом около 120 МБ файлов GIF]
Читать полностью »
Подведение итогов онлайн контеста по игре Блотто
2019-02-25 в 17:12, admin, рубрики: Игры Полковника Блотто, логические игры, математика, теория игрНесколько дней назад я провел онлайн-контест по игре.
В онлайн-контесте приняло участие 1199 человек, а решений набралось больше 5000, среди которых 61 решение — попытки обойти систему с помощью нахождения уязвимостей. Это очень круто, спасибо всем, кто принял участие.
Читать полностью »
Невозможная сковорода и другие победы плиток Пенроуза
2019-02-24 в 7:01, admin, рубрики: апериодический порядок, квазикристаллы, математика, материаловедение, мозаика пенроуза, Научно-популярное, плитки пенроуза, физика
В 1974 году британский математик Роджер Пенроуз создал революционный набор плиток, который можно использовать для заполнения бесконечной плоскости никогда не повторяющимся узором. В 1982 году израильский кристаллограф Даниэль Шехтман открыл металлический сплав, атомы которого были выстроены в порядке, никогда ранее не встречавшемся в материаловедении. Пенроуз достиг масштабного общественного признания, редко достающегося математикам. Шехтман получил Нобелевскую премию. Оба учёных бросили вызов человеческой интуиции и изменили основы понимания структуры природы, обнаружив, что бесконечная вариативность может возникать даже в высокоупорядоченной среде.
Читать полностью »
Равномерное распределение точек в треугольнике
2019-02-23 в 7:37, admin, рубрики: квазислучайность, математика, Работа с векторной графикой, распределение точек, треугольники, триангуляция ДелонеБольшинство двухмерных квазислучайных методов рассчитано на сэмплирование в единичном квадрате. Однако в компьютерной графике также очень важны треугольники. Поэтому я описал простой метод прямого построения для равномерного покрытия последовательностью точек треугольника произвольной формы.
Рисунок 1. Новый прямой метод построения открытой (бесконечной) квазислучайной последовательности с низким расхождением в треугольнике произвольной формы и размера. На рисунке показаны распределения точек в пятнадцати случайных треугольниках для первых 150 точек.
Краткий обзор
Последовательности с низким расхождением (low discrepancy), равномерно сэмплирующие/заполняющие квадрат, активно изучались почти сотню лет. БОльшую часть этих квазислучайных последовательностей можно расширить до прямоугольников простым растягиванием, не сильно повредив при этом расхождению.
Однако в этом посте мы рассмотрим интересное и важное расширение последовательностей с низким расхождением на произвольный треугольник.
Читать полностью »
Как мы решали задачу продолжения плейлистов на RecSys Challenge и заняли 3 место
2019-02-20 в 12:44, admin, рубрики: machine learning, python, recommender systems, Алгоритмы, математика, машинное обучениеВ 2018 наша команда традиционно приняла участие в RecSys Challenge. Это ежегодный конкурс по рекомендательным системам, проводимый в рамках конференции RecSys. Он не такой масштабный, как конкурсы на Kaggle, но считается одним из самых престижных соревнований по рекомендательным системам. В этот раз задача была музыкальной — нужно было построить систему автоматического продолжения плейлистов. В этом посте я подробно рассказываю о нашем решении. Приглашаю под кат.
Даннинг с Крюгером, Сократ и круги знаний
2019-02-17 в 12:37, admin, рубрики: Даннинг-Крюгер, круги знаний, математика, мозг, Сократ, Учебный процесс в ITМеня давно занимает тема познания. Так я столкнулся с изречением Сократа — «Я знаю, что ничего не знаю», с эффектом Даннинга-Крюгера. Уверился в истинности этих концепций. Увидел их взаимосвязь. А кроме того мне у меня появилась уверенность, что можно математически обосновать наличие эффекта Даннинга-Крюгера.
Reflective Shadow Maps: Часть 2 ― Реализация
2019-02-16 в 22:11, admin, рубрики: DirectX, gi, HLSL, OpenGL, rsm, shaders, Алгоритмы, математика, перевод, Программирование, Работа с 3D-графикой, разработка игрПривет! В данной статье представлена простая реализация Reflective Shadow Maps (алгоритм описан в предыдущей статье). Далее я объясню, как я это сделал и какие подводные камни были. Также будут рассмотрены некоторые возможные оптимизации.
Рисунок 1: Слева направо: без RSM, с RSM, разница
Читать полностью »