Ниже приведен текст задания, данный преподавателем.
Очень желательно объяснить как будет работать код, а также к циклам и функциям оставить комментарии.
Заранее спасибо!
Задание.
Кодирование с помощью цепных кодов.
Метод используется в основном для представления изображений. При его использовании вектору, соединяющему две соседние точки, ставится в соответствие один символ, принадлежащий некоторому конечному множеству. Метод достаточно эффективен, если точки расположены близко друг к другу и примерно на одинаковом расстоянии. Кодировочная таблица создается на базе описанного выше префиксного кода.
Пример. Нужно закодировать рисунок квадрата с шириной в 5 точек, то кодировочная таблица может выглядеть следующим образом:
Направление Двоичное значение
то же направление движения 1
влево на 90 градусов 01
вправо на 90 градусов 001
Тогда закодированный рисунок займет всего 22 бита:
1111001111001111001111. (при обходе слева направо и сверху вниз)