Читайте также:
|
|
Точка пересечения (XP,YP) отрезков (рис. 93) определяется решением системы уравнений:
YP=k1(XP-X1)+Y1
YP=k2(XP-X2)+Y2, где:
X1,Y1 - текущая база (БТ) 1-го отрезка,
X2,Y2 - текущая база (БТ) 2-го отрезка,
U1 - текущий угол 1-го отрезка,
U2 - текущий угол 2-го отрезка,
XP,YP - точка пересечения отрезков,
P - признак пересечения прямых (P=0 - прямые параллельны, P=1 - прямые пересекаются).
k1 = tg (U1), k2 = tg (U2) - коэффициенты в линейных уравнениях прямых.
Программное описание оператора:
begin
if (abs(U1-90))<0.001 or (abs(U1-270))<0.001 then T1=1;
if (abs(U2-90))<0.001 or (abs(U2-270))<0.001 then T2=1;
{переменные Т1 и Т2 указывают, что или 1-я или 2-я прямая перпендикулярна оси Х}
if T1=T2 then P=0 {прямые не пересекаются}
else if T1=1 and T2<>1 then begin
Р=1; XP=X1; YP=k2(XP-X2)+Y2;
end
else if T2=1 and T2<>1 then begin
Р=1; XP=X2; YP=k1(XP-X1)+Y1;
end
else if k1=k2 then P=0 {прямые не пересекаются}
else begin
P=1;
;
;
end;
end;
Оператор: DwaOtr(X1,Y1,U1,X2,Y2,U2,XP,YP,P).
Точка с координатами XP, YP является точкой пересечения прямых, заданных вышеупомянутыми отрезками, но сами отрезки могут не пересекаться. Поэтому необходимо исследование точки с координатами XP, YP на принадлежность обеим отрезкам. Если она им принадлежит, то они пересекаются.
Дата добавления: 2015-08-09; просмотров: 110 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Длина отрезка и текущий угол. | | | Точки пересечения прямой и дуги. |