Код 00A: Октантная дуга
 
 
 

Специальный код 00A (или 10) служит для отрисовки дуги по значениям двух следующих байт. Дуга называется октантной, так как она стягивает один или несколько 45-градусных октантов, причем начало и конец дуги лежат точно на границах октантов. Октанты нумеруются в направлении против часовой стрелки, начиная с положения "три часа", как показано на следующем рисунке.

Описание дуги имеет вид

10,радиус,(-)0SC

Радиус может принимать любое значение от 1 до 255. Второй байт указывает направление дуги (против часовой стрелки, если значение положительно, и по часовой стрелке - если отрицательно), начальный октант (s, значение от 0 до 7) и количество охватываемых дугой октантов (c, значение от 0 до 7, где значение 0 соответствует восьми октантам, т.е. полному кругу). Для удобочитаемости можно использовать круглые скобки. Рассмотрим в качестве примера следующий фрагмент описания формы:

...012,10,(1,-032),01E,...

Отрисовывается единичный вектор вверх-вправо, затем дуга по часовой стрелке (радиусом 1 единица, начиная с октанта 3, с охватом двух октантов), и, наконец, единичный вектор вниз-вправо, как показано на чертеже.