Библиотека knigago >> Компьютеры и Интернет >> Программы >> Спутниковые программы

Сергей Вячеславович Хвощев (глобус) - Спутниковые программы

Спутниковые программы
Книга - Спутниковые программы.  Сергей Вячеславович Хвощев (глобус)  - прочитать полностью в библиотеке КнигаГо
Название:
Спутниковые программы
Сергей Вячеславович Хвощев (глобус)

Жанр:

Программы

Изадано в серии:

неизвестно

Издательство:

неизвестно

Год издания:

ISBN:

неизвестно

Отзывы:

Комментировать

Рейтинг:

Поделись книгой с друзьями!

Помощь сайту: донат на оплату сервера

Краткое содержание книги "Спутниковые программы"

Аннотация к этой книге отсутствует.

Читаем онлайн "Спутниковые программы". [Страница - 3]

TForm1.Edit3Change(Sender: TObject);
begin
Shape1.Left := StrToInt(Edit1.Text);
end;
procedure TForm1.Edit4Change(Sender: TObject);
begin
Shape1.Top := StrToInt(Edit4.Text);
end;
procedure TForm1.Edit7Change(Sender: TObject);
begin
Shape2.Left := StrToInt(Edit7.Text);
end;
procedure TForm1.Edit8Change(Sender: TObject);
begin
Shape2.Top := StrToInt(Edit8.Text);
end;
procedure TForm1.Edit9Change(Sender: TObject);
begin
Shape3.Left := StrToInt(Edit9.Text);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Shape1.Left := 0;
Shape2.Left := round(Image1.Width / 2);
Shape3.Left := Image1.Width - Shape3.Width;
Shape1.Top := Image1.Top + Image1.Height - Shape1.Height;
Shape2.Top := Image1.Top + Image1.Height - Shape2.Height;
Shape3.Top := Image1.Top + Image1.Height - Shape3.Height;
Edit3.Text := intToStr(Shape1.Left);
Edit7.Text := intToStr(Shape2.Left);
Edit9.Text := intToStr(Shape3.Left);
Edit4.Text := intToStr(Shape1.Top);
Edit8.Text := intToStr(Shape2.Top);
Edit10.Text := intToStr(Shape3.Top);
H:=Image1.Height;
end;
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
begin
Label1.Caption := intToStr(X);
Label2.Caption := intToStr(Y);
end;
6. Прямая засечка.

Координирование промера по прямой засечке в местной системе координат от северо
западного угла планшета.
procedure TForm1.Button1Click(Sender: TObject);
var
xp, yp, x1, y1, x2, y2, cotan1, cotan2, x1line, y1line, tgA1p, b1, b2, a2, a3,

a1p, yk, xk: single;
begin
x1 := StrToInt(Edit2.Text);
y1 := StrToInt(Edit1.Text);
x2 := StrToInt(Edit4.Text);
y2 := StrToInt(Edit3.Text);
b1 := StrToInt(Edit5.Text) + StrToFloat(Edit6.Text) / 60;
b2 := StrToInt(Edit7.Text) + StrToFloat(Edit8.Text) / 60;
cotan1 := cotan(DegToRad(b1));
cotan2 := cotan(DegToRad(b2));
xp := (x1 * cotan2 + x2 * cotan1 - y1 + y2) / (cotan1 + cotan2);
yp := (y1 * cotan2 + y2 * cotan1 + x1 - x2) / (cotan1 + cotan2);
ListBox1.Items.Add(Edit9.Text);
ListBox2.Items.Add(Edit10.Text);
xk := xp;
yk := yp;
ListBox3.Items.Add(FloatToStr(xk));
ListBox4.Items.Add(FloatToStr(yk));
Image1.Canvas.Ellipse(round(yk) - 5, round(xk) - 5, round(yk) + 5,
round(xk) + 5);
Image1.Canvas.TextOut(round(yk) - 15, round(xk) - 5, Edit10.Text);
if Edit10.Text = '1' then
Image1.Canvas.TextOut(round(yk) + 15, round(xk), 'г-' + Edit9.Text)
else
begin
x1line := StrToFloat(ListBox3.Items[ListBox3.Items.Count - 2]);
y1line := StrToFloat(ListBox4.Items[ListBox4.Items.Count - 2]);
Image1.Canvas.MoveTo(round(y1line), round(x1line));
Image1.Canvas.LineTo(round(yk), round(xk));
end;
Edit10.Text := IntToStr(StrToInt(Edit10.Text) + 1);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
ListBox1.Items.Clear;
ListBox2.Items.Clear;
ListBox3.Items.Clear;
ListBox4.Items.Clear;
end;
procedure TForm1.Edit1Change(Sender: TObject);
begin
Shape1.Left := StrToInt(Edit1.Text);
end;
procedure TForm1.Edit2Change(Sender: TObject);
begin
Shape1.Top := StrToInt(Edit2.Text);
end;

procedure TForm1.Edit3Change(Sender: TObject);
begin
Shape2.Left := StrToInt(Edit3.Text);
end;
procedure TForm1.Edit4Change(Sender: TObject);
begin
Shape2.Top := StrToInt(Edit4.Text);
end;
procedure TForm1.FormResize(Sender: TObject);
begin
H := Image1.Height;
end;
procedure TForm1.FormShow(Sender: TObject);
begin
Shape2.Left := round(Image1.Width / 2);
Shape2.Top := Image1.Top;
Shape1.Top := Image1.Top;
Shape1.Left := Image1.Left;
Edit3.Text := IntToStr(Shape2.Left);
H := Image1.Height;
end;
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
begin
Label7.Caption := 'y=' + X.ToString;
Label8.Caption := 'x=' + Y.ToString;
end;
7. Обратная засечка.

В местных координатах от северо-западного угла
procedure TForm1.Button1Click(Sender: TObject);
var
x1, y1, x2, y2, x3, y3, cotan1, cotan2, b1, b2, tanA1, a1, a2, a3, xp, yp1,
yp2,x1Line,y1Line,xk,yk: real;
begin
y1 := strtofloat(Edit3.Text);

x1 := strtofloat(Edit4.Text);
y2 := strtofloat(Edit7.Text);
x2 := strtofloat(Edit8.Text);
y3 := strtofloat(Edit9.Text);
x3 := strtofloat(Edit10.Text);
b1 := strtofloat(Edit1.Text) + strtofloat(Edit2.Text) / 60;
b2 := strtofloat(Edit5.Text) + strtofloat(Edit6.Text) / 60;
b2 := b1 + b2;
cotan1 := cotan(DegToRad(b1));
cotan2 := cotan(DegToRad(b2));
tanA1 := ((y2 - y1) * cotan1 + (y1 - y3) * cotan2 - x2 + x3) /
((x2 - x1) * cotan1 + (x1 - x3) * cotan2 + y2 - y3);
a1 := RadToDeg(arctan(tanA1));
a2 := a1 + b1;
xp := (x1 * tanA1 - x2 * tan(DegToRad(a2)) + y2 - y1) /
(tanA1 - tan(DegToRad(a2)));
yp1 := y1 + (xp - x1) * tanA1;
yp2 := y2 + (xp - x2) * tan(DegToRad(a2));
ListBox1.Items.Add(Edit11.Text);
ListBox2.Items.Add(Edit12.Text);
xk:= abs(yp1);
yk:=abs(xp);
ListBox3.Items.Add(FloatToStr(xk));
ListBox4.Items.Add(FloatToStr(yk));
Image1.Canvas.Ellipse(round(yk)-5,round(xk)-5,round(yk)+5,round(xk)+5);
Image1.Canvas.TextOut(round(yk) - 15, round(xk) - 5, Edit12.Text);
if Edit12.Text = '1' then
Image1.Canvas.TextOut(round(yk) + 15, round(xk), 'г-' + Edit11.Text)
else
begin
x1line := StrToFloat(ListBox3.Items[ListBox3.Items.Count - 2]);
y1line := StrToFloat(ListBox4.Items[ListBox4.Items.Count - 2]);
Image1.Canvas.MoveTo(round(y1line), round(x1line));
Image1.Canvas.LineTo(round(yk), round(xk));
end;
Edit12.Text := intToStr(StrToInt(Edit12.Text) + 1);
end;
procedure TForm1.Edit10Change(Sender: TObject);
begin
Shape3.Top := StrToInt(Edit10.Text);
end;
procedure TForm1.Edit3Change(Sender: TObject);
begin
Shape1.Left := StrToInt(Edit3.Text);
end;
procedure TForm1.Edit4Change(Sender: TObject);
begin

Shape1.Top := StrToInt(Edit4.Text);
end;
procedure TForm1.Edit7Change(Sender: TObject);
begin
Shape2.Left := StrToInt(Edit7.Text);
end;
procedure TForm1.Edit8Change(Sender: TObject);
begin
Shape2.Top := StrToInt(Edit8.Text);
end;
procedure TForm1.Edit9Change(Sender: TObject);
begin
Shape3.Left := StrToInt(Edit9.Text);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Shape1.Left := 0;
Shape2.Left := round(Image1.Width / 2);
Shape3.Left := Image1.Width - Shape3.Width;
Shape1.Top := Image1.Top + Image1.Height - Shape1.Height;
Shape2.Top := Image1.Top + Image1.Height - Shape2.Height;
Shape3.Top := Image1.Top + Image1.Height - Shape3.Height;
H:=Image1.Height;
end;
procedure TForm1.FormResize(Sender: TObject);
begin
H:=Image1.Height;
end;
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
begin
Label1.Caption := intToStr(X);
Label2.Caption := intToStr(Y);
end;
8. Построение планшета Гаусса

Строится планшет в проекции Гаусса-Крюгера
Пересчет происходит при изменении размеров формы.
procedure TForm1.FormResize(Sender: --">

Оставить комментарий:


Ваш e-mail является приватным и не будет опубликован в комментарии.

Книги схожие с «Спутниковые программы» по жанру, серии, автору или названию:

Самые полезные программы: утилиты. Виталий Петрович Леонтьев
- Самые полезные программы: утилиты

Жанр: Программы

Год издания: 2004

Серия: Компьютер. Карманный справочник пользователя