Реализация упрощенной модели песчаной кучи с возможностью сохранять состояния в изображение в формате BMP.
Начальное состояние задается размерами сетки, переданными в качестве аргументов программы и файлом с изначальным количеством песчинок в каждой ячейке, кроме пустых.
Формат файла: Каждая сторчка содержит информацию об обной ячейке, в виде (x-координаты, y-координаты, количестве песчинок), разделенных символом табуляции. Количество песчинок гарантированно влезет в uint64_t.
Консольное приложение поддерживает следующие аргументы командной строки:
-l, --length - длина сетки (гарантированно влезет в uint16_t)
-w, --width - ширина сетки (гарантированно влезет в uint16_t)
-i, --input - tsv-файл (tab-separated values) c начальными данными
-o, --output - путь к директории, для сохранения картинок
-m, --max-iter - максимальное количество итераций модели
-f, --freq - частота с которой должны сохранятся картинки (если 0, то сохраняется только последнее состояние)
Картинка для текущего состояния формируется по правилам:
- Размер картинки равен размеру поля.
- Каждый пиксель соответствует ячейке поля.
- Цвет пикселя зависит от количества песчинок в ячейке: 0 - белый, 1 - зеленый, 2 - фиолетовый, 3 - желтый, > 3 - черный.
cmake -S . -B build
cd build
cmake --build .
./sand_model -l 128 -w 128
