Окружность проведена через две точки касательно к объекту |
|
|
Отношение предназначено для построения двух Окружностей, касательных к объекту (Прямой или Окружности), и проходящих через две заданные Точки.
Точки, через которые проводятся сопрягающие окружности, должны быть собственными точками вещественной плоскости.
Если в процессе расчета обнаруживается, что при заданных значениях входных параметров реализовать сопряжение невозможно, то при установленном флажке NIL в выходной параметр заносится значение NIL-объекта.
Если тип объекта, указанного в любом из входных параметров, оказывается несовместимым с типом этого параметра, то при установленном флажке NIL в выходной параметр заносится значение NIL-объекта.
|
|
|
|
Параметры |
Типы объектов |
Функциональное назначение
параметров |
|
Окружность 1 |
Окружность |
Первая касательная окружность |
|
Точка 1 |
Точка |
Точка касания первой касательной окружности и объекта (прямой или окружности) |
|
Окружность 2 |
Окружность |
Вторая касательная окружность |
|
Точка 2 |
Точка |
Точка касания второй касательной окружности и объекта (прямой или окружности) |
|
Исходная точка 1 |
Точка |
Первая точка, через которую проведена окружность |
|
Исходная точка 2 |
Точка |
Вторая точка, через которую проведена окружность |
|
Прямая (окружность) |
Прямая (окружность) |
Объект (прямая или окружность), к которому строятся сопрягающие окружности |
|
|
Пояснение к реализации функции:
Функция реализована на основе преобразования инверсии. Через точку p проводится произвольная (например радиусом 100) окружность dinv, относительно которой выполняется инверсионное преобразование входных объектов. Точка p1 преобразуется в точку i_p1. Объект l1 (прямая или окружность) преобразуется в окружность okr1. Операция проведения касательных прямых oo1 и oo2 из точки i_p1 позволяет получить образы окружностей сопряжения okr1 и okr2 и точек касания в преобразовании инверсии. Прообразы находятся обратным преобразованием oo1, oo2, pp1 и pp2 относительно окружности инверсии dinv.
Входные параметры: p, p1 и l1.
Выходные параметры: okr1, t1, okr2 и t2.
Алгоритм "Главный" |
1 |
|
Точка p задана координатами -158.6 и -33.3 . |
2 |
|
Точка p1 задана координатами -159 и 71.7 . |
3 |
|
Прямая l1 задана координатами двух точек: X1= -240.5 , Y1= -172.5 , X2= 161.5 , Y2= -75.5 . |
4 |
|
Величина chisl есть 100 . |
5 |
|
Окружность dinv задана центром p и радиусом chisl . |
6 |
|
Объект i_p1 есть результат инверсного преобразования объекта p1 относительно окружности dinv . |
7 |
|
Объект i_l1 есть результат инверсного преобразования объекта l1 относительно окружности dinv . |
8 |
|
Точка касания pp1 на окружности i_l1 и касательная oo1 из точки i_p1 . |
9 |
|
Точка касания pp2 на окружности -i_l1 и касательная oo2 из точки i_p1 . |
10 |
|
Объект t1 есть результат инверсного преобразования объекта pp1 относительно окружности dinv . |
11 |
|
Объект t2 есть результат инверсного преобразования объекта pp2 относительно окружности dinv . |
12 |
|
Объект okr1 есть результат инверсного преобразования объекта oo1 относительно окружности dinv . |
13 |
|
Объект okr2 есть результат инверсного преобразования объекта oo2 относительно окружности dinv . |
|
структура функции
|
|
Прототип команды: DH Согласование Окружность1 Точка1 Окружность2 Точка2 ; Исходная_точка1 Исходная_точка2 Прямая(окружность) .
|
|
Пример:
Провести две окружности через две точки p1 и p2 таким образом, чтобы они касались заданной прямой o1.
Алгоритм "Главный" |
1 |
|
Прямая o1 задана координатами двух точек: X1= -266.5 , Y1= 44.5 , X2= 211.5 , Y2= -137.5 . |
2 |
|
Точка p1 задана координатами -90.5 и 148.5 . |
3 |
|
Точка p2 задана координатами -30.5 и -10.5 . |
4 |
|
Окружности d1 и d2 касаются в точках p3 и p4 объекта o1, проходя через точки p1 и p2 . |
|
|
|
|
|
|
|
|
|
|
|