Pull to refresh
-10
0
Send message

Теория счастья. Случайности неслучайны?

Reading time 20 min
Views 50K
Продолжаю знакомить читателей Хабра с главами из своей книжки «Теория счастья» с подзаголовком «Математические основы законов подлости». Это ещё не изданная научно-популярная книжка, очень неформально рассказывающая о том, как математика позволяет с новой степенью осознанности взглянуть на мир и жизнь людей. Она для тех кому интересна наука и для тех, кому интересна жизнь. А поскольку жизнь наша сложна и, по большому счёту, непредсказуема, упор в книжке делается, в основном, на теорию вероятностей и математическую статистику. Здесь не доказываются теоремы и не даются основы науки, это ни в коем случае не учебник, а то, что называется recreational science. Но именно такой почти игровой подход позволяет развить интуицию, скрасить яркими примерами лекции для студентов и, наконец, объяснить нематематикам и нашим детям, что же такого интересного мы нашли в своей сухой науке.



В этой главе мы порассуждаем о предопределённости полёта монетки, о топографических картах, о математических катастрофах и о природе случайности. А по пути заглянем в такие разделы математики, как теория мер и теория динамического хаоса.
Читать дальше →
Total votes 60: ↑57 and ↓3 +54
Comments 130

Reflective Shadow Maps: Часть 2 ― Реализация

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

image
Рисунок 1: Слева направо: без RSM, с RSM, разница
Читать дальше →
Total votes 29: ↑29 and ↓0 +29
Comments 0

Быстрое и плавное смешение биомов игровой карты

Reading time 14 min
Views 6K

image

Во многих играх есть процедурно генерируемые миры, разделённые на отдельные биомы. Биомы часто имеют разный рельеф или особенности, которые необходимо плавно сглаживать на границах биомов. Большинство популярных или интуитивно понятных решений страдает от двух недостатков: они медленные или имеют заметные паттерны сеток. В этом посте я покажу способ, позволяющий избежать паттернов и значительно повысить скорость. Этот способ состоит из двух основных компонентов: распределение точек данных в стиле шума Вороного и нормализованная разреженная свёртка.
Читать дальше →
Total votes 11: ↑11 and ↓0 +11
Comments 1

Бесконечный узор на основе простых чисел

Reading time 1 min
Views 25K
image

Привет, Хабр! Однажды утром мне пришла в голову идея находить "исключающее ИЛИ" между координатами точки пространства и проверять полученное число на простоту. Результат такого простого алгоритма вы можете видеть на картинке. Подробнее под катом.
Total votes 50: ↑49 and ↓1 +48
Comments 35

Внедрение зависимостей в .Net Марка Симана 2 — Внедрение конструктора, время жизни

Reading time 3 min
Views 7.3K
Зависимости между слоями приложения | Внедрение конструктора, время жизни | Сквозные аспекты приложения, перехват, декоратор

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

Агрегация, внедрение конструктора


Объекты/классы системы, как и слои, взаимодействуют друг с другом. Между классами тоже есть зависимости.

Например, в листинге 1 MyService использует MyDataContext (EF) – имеет зависимость MyDataContext.

class MyService
{
    public void DoSomething()
    { 
        using(var dbCtx = new MyDataContext())
        {
            // используем dbCtx
        }
    }
}

Листинг 1. Сильная зависимость MyService от MyDataContext

Читать дальше →
Total votes 9: ↑8 and ↓1 +7
Comments 5

Внедрение зависимостей в .Net Марка Симана 1 — Зависимости между слоями приложения

Reading time 4 min
Views 12K
Зависимости между слоями приложения | Внедрение конструктора, время жизни | Сквозные аспекты приложения, перехват, декоратор

Внедрение зависимостей в .Net Марка СиманаПринципы разработки программ, названные «Внедрением зависимостей» (ВЗ) тема не новая, но от этого не менее интересная и полезная. Даже если вы не знаете, что такое «Контейнер внедрения зависимостей», возможно вы уже используете ВЗ. Работаете с Angular? — вы в теме. В любом случае, игнорировать эту концепцию и оставаться конкурентоспособным разработчиком невозможно.

Поговорим о замечательной книге Марка Симана. Данная заметка не претендует на полноту, не является кратким изложением и никак не может заменить труд Марка. Зато, надеюсь, мотивирует на прочтение 379 страниц (всего в книге 463 страницы), покажет интересные приемы из арсенала автора. И, конечно, поможет поддержать беседу с коллегами у кулера с водой.
Читать дальше →
Total votes 7: ↑6 and ↓1 +5
Comments 5

Information

Rating
Does not participate
Registered
Activity