## Угловые размеры Угловой размер задается для двух геометрических объектов, имеющих направляющие вектора. Значение углового размера задается в радианах с областью значений от $0$ до $2\pi$ и определяется углом, измеряемым против часовой стрелки, между направляющими векторами первого и второго объектов. Угловой размер с таким способом измерения показан на рис.1 на примере двух пересекающихся прямых с данными направлениями. Справа на рис.2 показана пара прямых, имеющих тот же угол между векторами, однако размер охватывает обратный сектор угла. Значение такого размера определяется по формуле $D = 2\pi - \alpha$, где $\alpha$ -- измерительное значение угла между векторами, а $D$ -- значение размера. Данный размер также называется сопряженным (conjugate), по другому его можно получить, просто поменяв местами аргументы углового размера. ```{figure} ../../pictures/S.2.7.1.png :width: 15cm :align: center Рис. 1 ``` ```{figure} ../../pictures/S.2.7.2.png :width: 15cm :align: center Рис. 2 ``` Всего для одной и той же пары направлений, включая два рассмотренных выше, возможны четыре варианта задания углового размера. На рис.3 изображен размер, значение которого определяется по формуле смежного (adjacent) угла $D = \pi - \alpha$. На рис.4 справа показан альтернативный вариант смежного угла, который определяется суммой $D = \pi + \alpha$. ```{figure} ../../pictures/S.2.7.3.png :width: 15cm :align: center Рис. 3 ``` ```{figure} ../../pictures/S.2.7.4.png :width: 15cm :align: center Рис. 4 ``` Еще одна полезная закономерность, связанная с четырьмя способами задания углового размера, состоит в том, что размер со значением $D = 2\pi - \alpha$ получается из размера $D = \alpha$, если просто поменять местами первый и второй объекты размерного ограничения. Аналогично, переменой местами аргументов, получается 4-й вариант $D = \pi + \alpha$ из 3-го варианта $D = \pi - \alpha$. Угловой размер для пары направленных объектов, таких, как отрезок, прямая или эллипс, задается методом ```cpp constraint_item GCE_AddAngle(GCE_system gSys, geom_item l1 , geom_item l2 , const GCE_adim_pars & dPars). ``` Функция создаст в системе ограничений **gSys** новый угловой размер, заданный для геометрических объектов **l1** и **l2**. Значение размера и способ его задания определяется структурой **dPars**. Возвращаемое значение -- дескриптор нового углового размера. Структура **dPars** определяет значение углового размера, заданного через структуру **dPars.dPars** (**GCE_dim_par**), в которой значение размера хранится в переменной **dPars.dPars.var** либо, в случае **dPars.dPars.var = GCE_NULL_V**, значение размера задано независимым числовым параметром **dPars.dPars.dimValue**, что делает размер управляющим. Подробнее об управляющих и варьируемых разделах рассмотрено в параграфе [Управляющие и вариационные размеры](./Driving_and_Variational_Dimensions.md). Если параметр **dPars.adjacent = false**, то значение размера будет определяться формулой $D = f \cdot \alpha$. Множитель ***f*** в данной формуле задается параметром **dPars.factor** и позволяет задавать угловой размер в других единицах. Например, если **dPars.factor** = $180/\pi$, то приложение получает возможность задавать угловой размер в градусах. Что бы задать угловой размер со значением $D = f \cdot (2\pi - \alpha)$, необходимо поменять местами аргументы **l1** и **l2**. Для определения угловых размеров со смежным вариантом угла, показанных на рис. 27.7.3 и рис. 27.7.4, необходимо задать флаг **dPars.adjacent = true**, в этом случае значение размера будет определять по формулам $D = f \cdot (\pi - \alpha)$ или $D = f \cdot (\pi + \alpha)$. Вторая формула получается, если поменять местами аргументы **l1** и **l2**. Множитель ***f*** также задается параметром **dPars.factor**.