Skip to content

accelolabs/sandpile

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Что это?

Реализация упрощенной модели песчаной кучи с возможностью сохранять состояния в изображение в формате 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, то сохраняется только последнее состояние)

Картинка для текущего состояния формируется по правилам:

  1. Размер картинки равен размеру поля.
  2. Каждый пиксель соответствует ячейке поля.
  3. Цвет пикселя зависит от количества песчинок в ячейке: 0 - белый, 1 - зеленый, 2 - фиолетовый, 3 - желтый, > 3 - черный.

Как использовать?

cmake -S . -B build
cd build
cmake --build .
./sand_model -l 128 -w 128

About

Реализация упрощенной модели песчаной кучи с возможностью сохранять состояния в изображение в формате BMP.

Resources

License

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors