Шум Перлина в D

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

Читать далее

Реализуем дизеринг в dlib

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

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

Читать далее

Судоку своими руками

Хочу рассказать вам, дорогие читатели блога, об одной своей программке на Icon, о которой очень хотелось рассказать когда-то давно (еще в 2016 году), но тогда не хватало времени, чтобы описать свой игровой эксперимент. Так уж сложилось, что самое интересное, что я делаю на Icon — это игры, и данный случай — не исключение.

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

Итак, начнем с того, что такое судоку. Читать далее

QtE5 – изучаем D и Qt-5 в комфортной графической среде

Немного лирики или с чего всё началось. Глядя на красивый KDE в Linux, мне хотелось научится писать программы и для него. Так я узнал о Qt. Всё хорошо, потихоньку изучаю, но «давит» гигантизм и запутанность С++. Хочется чего то компактного, быстрого и интелектуального. На глаза попадается D созданный Уолтером Брайтом. В своё время я начал изучение С++ с Zortech C++ (позже ставшего Symantec C++, а затем Digital Mars C++) и ни каких проблем с ним я не имел. Начал изучение D, который отлично работает в Windows/Linux, но вот проблема, хочется доступа к Qt. В инете есть QtD, но сколько я не пытался его реанимировать, ничего не получилось. Вот и решил я сделать что то для себя, благо ни куда не торопился. Читать далее

Обработка изображений: делаем фотографию черно-белой своими руками

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

Сначала, я хотел выложить перевод жутко интересной статьи, но потом выяснилось, что меня опередили, а в этот момент была готова только часть — и это меня очень расстроило, но потом я подумал, что нет смысла огорчаться — переводами сейчас занимаются многие, но вот чтобы написать нечто уникальное по D и к тому же на русском языке — вот тут нужно гораздо больше усилий и времени, и поэтому с приподнятым настроением я сел писать эту статью… Читать далее

Математическая графика в dlib

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

Гипоциклоида и элементы функционального программирования

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

Сижу, значит, за компьютером, никого не трогаю, как вдруг пишет мне Bagomot во ВКонтакте и говорит, что у него не получается нарисовать гипоциклоиду.

Само собой, удивлению моему не было предела, ибо обычно, этот товарищ ничем подобным не занимается да и я знать не знаю ничего про гипоциклоиду (это правда, к сожалению) — и тут, я решаю помочь Bagomot’у и «запилить» код, так как на вид параметрическое задание функции, рисующей эту занятную кривую, довольно несложное, кроме того, параметрическое задание — это уже давно пройденный нами этап…

Читать далее

Добавление графических примитивов в dlib

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

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

Преобразования цвета в DFL

В одном из проектов для D Form Library я столкнулся с небольшой проблемкой: необходимо было сделать рисунок в окне, но с использованием окраски «в старом стиле» (т.е. использовать не палитру RGB, а иную, более упрощенную, с меньшим количеством параметров). Это была даже не задача, поскольку думать пришлось совсем немного, однако, недостаточное количество информации чуть не погубило задумку проекта – требовалось нарисовать двумерное изображение с использованием палитры в 256 цветов (она же, если не ошибаюсь, BGR), но DFL позволяет рисовать в окне с использованием палитры RGB и описания механизма преобразования RGB в BGR почти отсутствуют… Читать далее