ВУЗ:
Составители:
Рубрика:
TestLocation:=(A*X1+B*Y1+C)*(A*X2+B*Y2+C)>0
End;
Function Dest(X,Y:Double):Double;
{Вычисление длины вектора}
Begin
Dest:=Sqrt(Sqr(X)+Sqr(Y))
End;
Procedure Proj(X,Y:Double;Var TX,TY:Double);
{Вычисление проекции точки (X,Y) на прямую}
Begin
TX:=(-C*A+Sqr(B)*X-A*B*Y)/(Sqr(A)+Sqr(B));
TY:=(-C*B-A*B*X+Sqr(A)*Y)/(Sqr(A)+Sqr(B));
End;
Function FindDifferentSideDest(Var tx1,Ty1,Tx2,ty2:Double):Double;
{Решение задачи для случая 1}
Var D:Double;
Begin
Proj(X1,Y1,Tx1,Ty1);
D:=Dest(TX1-X1,TY1-Y1);
Proj(X2,Y2,Tx2,Ty2);
FindDifferentSideDest:=D+Dest(TX2-X2,TY2-Y2)
End;
Procedure FindPoint(PX,PY,X,Y,D:Double;Var TX,TY:Double);
{Нахождение координат точки на прямой, из которой точка (x,y)
видна под углом 30 градусов}
Страницы
- « первая
- ‹ предыдущая
- …
- 60
- 61
- 62
- 63
- 64
- …
- следующая ›
- последняя »