Рубрика «оптимизация» - 2

Визуализатор музыки на основе игры Pong - 1

В последнее время я экспериментирую с визуализаторами музыки. Источником вдохновения для одного из моих любимых стала классическая игра Pong. В классическом Pong мяч отбивается от ракеток в постоянном ритме. Что, если мы синхронизируем удары с долями музыкальных композиций, заставив ракетки танцевать?

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

Также мы сохраним следующие правила классической игры:

  • Точка контакта мяча с ракеткой определяет угол отражения
  • У ракеток нет ограничений по скорости
  • Мяч отскакивает от верха и низа экрана

Такая физика обеспечивает нам необходимое число степеней свободы для перемещения ракеток, чтобы они ударяли по мячу в нужный момент.

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

Angular — это мощный инструмент для создания сложных веб-приложений. Но, как и в любом другом фреймворке, возникают свои сложности. Одна из таких проблем — это частые перезапуски тяжелых функций в шаблонах, что сильно бьет по производительности. Если приложение начинает тормозить, значит пора задуматься об оптимизации. И здесь на помощь приходит Memoize Pipe, способный спасти ваш интерфейс от лишних вычислений.

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

Приветствую всех! Невозможное возможно, сегодня об этом и будет статья.

Flappy Bird на Си для Android весом APK всего 92 Килобайта - 1

История

Всё началось в далёком 2021 году. Тогда я наткнулся на репозиторий rawdrawandroidЧитать полностью »

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

Если при этом автомобили совершенно разные (малые самосвалы, БелАЗы, спецтехника, автобусы, легковые, бортовые автомобили) и каждый автомобиль от смены к смене занимается совершенно разной работой с разными водителями... тут за голову схватишься, как этот процесс систематизировать.

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

Библиотека форматирования {fmt} известна своим небольшим влиянием на размер бинарников. Чаще всего её код в несколько раз меньше по сравнению с такими библиотеками, как IOStreams, Boost Format или, что иронично, tinyformat. Это достигается за счет аккуратного применения стирания типов на разных уровнях, что минимизирует излишнее использование шаблонов.

Аргументы форматирования передаются через format_args со стертыми типами:

auto vformat(string_view fmt, format_args args) -> std::string;

template <typename... T>
auto format(format_string<T...> fmt, T&&... args) -> std::string {
  return vformat(fmt, fmt::make_format_args(args...));
}

Как можно заметить, Читать полностью »

Начну с небольшой шутки:

"Знаете ли вы, что до изобретения часов людям приходилось активно ходить повсюду и спрашивать время?"

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

Раскрываем секреты роя: оптимизация на Python с помощью PSO - 1

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

Некоторое время назад был создан проект SolarCamPi — автономная камера на солнечных батареях с Wi‑Fi.

В этом проекте Raspberry Pi Zero 2 W загружается в Linux, делает снимок, подключается к Wi‑Fi и затем выключается (для экономии энергии). Цикл повторяется каждые несколько минут, чтобы постоянно отправлять актуальные изображения в облачный сервис.

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

Попалась на Stack Overflow интересная задачка: написать программу как можно короче и в одно выражение или с одним оператором (statement) верхнего уровня с точкой с запятой в конце и не использовать блоки кода. Вложенные операторы допускаются.

Написано по (собственным) материалам со Stack Overflow.

Понятно, что это не для любителей стандартного стиля c#. Поэтому чувствительных особ прошу дальше не читать :-).

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


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