Точки, удаленные от двух точек
 

Отношение предназначено для построения двух Точек, находящихся на удалении од двух Исходных точек на расстояниях D1 и D2 соответственно.

Если тип объекта, указанного в любом из входных параметров, оказывается несовместимым с типом этого параметра, то при установленном флажке NIL в выходной параметр заносится значение NIL-объекта.

 
Параметры
Типы объектов
Функциональное назначение параметров
Точка 1
Точка
Первая строящаяся точка
Точка 2
Точка
Вторая строящаяся точка
Исходная точка 1
Точка
Первая исходная точка
Исходная точка 2
Точка
Вторая исходная точка
D1
Величина
Дистанция от первой исходной точки
D2
Величина
Дистанция от второй исходной точки
 

Прототип команды: PO Согласование Точка1 Точка2 ; Исходная_точка1 Исходная_точка2 {-}D1 {-}D2 .

 

Пример:

Построить две точки, удаленные от точки p1 на 150 и от точки p2 на 100.

Алгоритм "Главный"
1
Точка p1 задана координатами -94 и 26 .
2
Точка p2 задана координатами 52 и -30 .
3
Точки p3 и p4 удалены от точки p1 на 150 и от точки p2 на 100 .

 

 

procedure CalcPO(var Prizn,CMPOut: boolean; X,Y,V,W: TObj; var X1,Y1,X2,Y2: complex; var Def1,Def2 :boolean);
var XC1,YC1,R1,Xc2,Yc2,R2,Xb,Yb,Xe,Ye,Dx,Dy,Z,Xt,Yt,ZZ,Dummy: real;
    Temp1,Temp2: complex;
    Pr: boolean;
    Dug1,Dug2: TODuga;
label fin;

begin
     Dug1:=TODuga.Create(TOPoint(X).X,TOPoint(X).Y,TOChisl(V).C,TOPoint(X).X.Re+TOChisl(V).C.Re,TOPoint(X).Y.Re,TOPoint(X).X.Re+TOChisl(V).C.Re,TOPoint(X).Y.Re,0,0,Att5,NIL);
     Dug2:=TODuga.Create(TOPoint(Y).X,TOPoint(Y).Y,TOChisl(W).C,TOPoint(Y).X.Re+TOChisl(W).C.Re,TOPoint(Y).Y.Re,TOPoint(Y).X.Re+TOChisl(W).C.Re,TOPoint(Y).Y.Re,0,0,Att5,NIL);

     CalcP3(Prizn,CmpOut,Dug1,Dug2,X1,Y1,X2,Y2,Def1,Def2);
     Dug1.Destroy;
     Dug2.Destroy;
end; // CalcPO