ГОСТ Р ИСО/МЭК 19794-8—2009
для определения изменения направления; например, если число битов, выделяемых на запись направле
ния 180°. составляет 4 и 32 и указанный диапазон целого числа от минус 7 до плюс 7, то направление
масштабируют в диапазон углов от минус 39.375°до плюс 39.375°);
- при высоком искривлении гребневой линии можно сохранить элементы направления вболее высо
ком пространственном разрешении. Поэтому можно переключаться междудвумя различными уровнями
разрешения. При наименьшем отрицательном числе (10...0)2значение разрешения переключается между
стандартным (высоким). Кодирование линии всегда будет начинаться со стандартного разрешения. При
первом появлении (Ю...0)2 в коде значение разрешения изменяется на высокое, используя половину
длины шага; при втором появлении происходит обратное переключение к стандартному разрешению
и полной длине шага и т.д. (таблица А.2);
- изменение направления повторяется до тех пор. пока не будетдостигнут конец линии;
- тип контрольной точки конца линии (два бита; 00 — мнимое окончание. 01 — окончание гребня. 10 —
бифуркация гребня. 11 — мнимое продолжение).
Если остов линии заканчивается мнимым окончанием (число 00). то относительное положение конт
рольной точки на линейном элементе является следующим:
- относительное положение контрольной точки VSnмасштабируют вдиапазоне от 0 до 3. т.е. берут
минимальное значение из двух: или 3. или целое значение от 4l!Snи сохраняют как целое число без знака
два бита, где / — расстояние между началом последнего элемента линии и контрольной точкой, a S„ —
длина шага последнего элемента линии (рисунок 2);
- если остов линии заканчивается действительной контрольной точкой (число 01 или 10) или преры
вается точкой типа мнимого продолжения (тип числа 11), то точка сохраняется в формате записи конт
рольных точек отпечатка пальца. Чтобы сохранить верхнее выравнивание в формате поступают следую
щим образом: если ранее сохраненный тип контрольной точки конца линии уже выровнен по стартовому
байту, то данные контрольной точки дополняют добавлением ее направления и позиции. Если тип конт
рольной точки конца линии не выровнен, то запись повторяют с начала следующего байта, следующего за
направлением и позицией.
Таким образом, кодирование продолжают по следующей схеме:
- если ранее сохраненный тип контрольной точки конца линии не выровнен по стартовому байту, то
запись повторяют с начала следующего байта. Любые неиспользованные биты, вызванные этим выравни
ванием. заполняют нулями;
- направление контрольной точки (вдиапазоне от 0° до 360°. масштабируемое в соответствии с чис
лом битов на запись направления, определенным в заголовке записи);
- координатах (число битов на запись определенно в заголовке записи);
- координата у (число битов на запись определенно в заголовке записи).
Если окончание контрольной точки имеет тип мнимое продолжение (число 11). описание линии про
должаютс числа, описывающего следующий элемент направления (восемь битов) и его направления как
описано выше.
Любые неиспользованные биты последнего байта для каждой закодированной линии заполняют ну
лями для достижения начала выровненного байта при следующем кодировании линии.
Рисунок 2 — Относительное расположение контрольной точки на линейном элементе ломаной линии — это
отношение f!Sn. где S„ — длина линейного элемента, проходящего через контрольную точку М; I — расстояние
между начальной точкой линейного элемента S и контрольной точкой М; ос„ — значение утла S„
7