Когда Диофант встречается с генетикой

Как-то давно, когда я изучал Python, я делал одну забавную вещь, которая иллюстрирует одну замечательную идею, привнесенную в программирование из биологии. Но, к сожалению, я потерял исходный код этой небольшой программки да и не планировал когда-либо публиковать эксперимент, и поэтому как всегда, в этой статье я попытаюсь начать с нуля и показать результат в своем любимом языке программирования… Читать далее →

Подробнее

Паттерн проектирования «Фабричный метод»

В этом рецепте мы на простом примере покажем, как легко и быстро приготовить паттерн «Фабричный метод» (в английском варианте — Factory method), а чтобы не ходить вокруг и около в качестве примера возьмем уже готовую идею из книги Э.Фримен «Паттерны проектирования» и создадим свою сеть пиццерий, которые размещаются в разных регионах.

Читать далее →

Подробнее

Интерполяция по Лагранжу

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

Читать далее →

Подробнее

Добавляем итерируемые системы функций в dlib

Сегодня я расскажу о том, как я осуществил перенос наработок из проекта нашей библиотеки для обработки изображений Raster and Image Processor (RIP) в библиотеку «швейцарский нож для D» dlib. В статье я немного расскажу о том, как при минимуме усилий и использованной инфраструктуре проекта rip, мне удалось подарить вторую жизнь старой идее реализации Итерируемой Системы Функций (ИФС) и перенести ее со старой dgui (об этом я уже как-то писал) в новую среду.

Читать далее →

Подробнее

Соляризация изображения в dlib

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

Если вам любопытно, что получилось, то добро пожаловать в эту статью.

Читать далее →

Подробнее

Простые эксперименты по процедурной генерации

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

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

Читать далее →

Подробнее

Вывод всех символов ASCII из исполняемого файла

При частой работе с различными шестнадцатеричными и бинарными файлами требуется выделить некие особые последовательности символов (сигнатуры, подписи, блоки данных), которые представлены в виде ASCII символов.

В этом рецепте я покажу код, который покажет все ASCII последовательности в некотором исполняемом файле. Этот код вы можете использовать для изучения исполняемых файлов на предмет наличия разных интересных вещей и закономерностей, а также как очень ценный инструмент по выделению plain-данных из самого файла.

Читать далее →

Подробнее

Первое возвращение в «мир проводов»

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

Но сегодня, я приглашаю вас, дорогой мой читатель, в первое возвращение в «мир проводов», в котором мы постараемся загладить нашу вину и немного усовершенствовать WireWorld.

Читать далее →

Подробнее

Наблюдаем спектр сигнала при помощи D/QtE5 и Arduino

В этой статье мы покажем как сделать простой «анализатор спектра» почти в реальном времени своими руками и даже попробуем посмотреть некий сигнал, который запросто можно поймать на один медный провод (или даже самодельную антенну), присоединенный к плате Arduino.

И да, нечто подобное мы уже делали, но в этот раз будет уже иной уровень, и кроме того, можно вместо Arduino использовать даже iCEStick!

Читать далее →

Подробнее

Воспроизведение звука: D + FPGA = ?

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

Если вас заинтересовало что мы придумали на этот раз, то добро пожаловать в эту статью.

Читать далее →

Подробнее