Отношение предназначено для присвоения объектам типа величина значения угла наклона прямой по отношению к другой прямой.
Величина угла считается положительной и может изменяться в диапазоне от 0 до 360 градусов, не включая последнее, и определяется с учетом положительного направления исходных прямых.
При расчетах из величины угла наклона второй прямой вычитается величина угла наклона первой.
Величина угла рассчитывается независимо от стиля и типа линии, в том числе нет необходимости взаимного пересечения каких-либо областей линии. Любые сонаправленные прямые будут иметь угол наклона 0 градусов, противоположно направленные – угол 180 градусов.
Отношение допускает возможность указания ориентации линий, противоположной ориентации исходных прямых. Для этого необходимо внести знак "минус" перед соответственными именами их списочных переменных в полях входных аргументов отношения. В случае указания в качестве аргумента отношения несобственной прямой плоскости или NULL-прямой, значение величины угла не определено.
Если тип объекта, указанного в любом из входных параметров, оказывается несовместимым с типом этого параметра, то при установленном флажке NIL в выходной параметр заносится значение NIL-объекта. .
|
|
Пример:
Определить величину угла между прямыми o1 и o2.
Для задания прямой o1 использованы две свободные точки p1 и p2, с помощью которых можно управлять положением прямой o1, инцидентной этим точкам. Прямая o2 построена аналогично через точки p3 и p4. Как следует из протокола отношений (и видно из чертежа), обе прямые представлены отрезками, поскольку в их атрибутах значение тип прямой соответствует ограниченной прямой. Оба отрезка не имеют точки взаимопересечения. Отрезок o1 ориентирован в направлении от точки p1 к p2, а отрезок o2 в направлении от точки p3 к точке p4.
Значение величины угла заносится в величину c1.
|
Точка <p1> задана координатами <-68.5> и <-24>. |
|
Точка <p2> задана координатами <82.5> и <48>. |
|
Прямая <o1> задана точками <p1> и <p2>. |
|
Величина <c1> есть угол между прямыми <o1> и <o2>. |
|
Точка <p3> задана координатами <-72> и <5.5>. |
|
Точка <p4> задана координатами <-11> и <92.5>. |
|
Прямая <o2> задана точками <p3> и <p4>. |
|