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


СЛУЧАЙНЫЙ КОММЕНТАРИЙ

# 1913, книга: Ожидание
автор: Хорхе Луис Борхес

"Ожидание" Хорхе Луиса Борхеса - это сборник лаконичных и загадочных рассказов, которые исследуют пересечения времени, памяти и судьбы. Благодаря своей сложной прозе и интригующим темам, "Ожидание" стало постоянным источником вдохновения и анализа для читателей и критиков. Борхес мастерски использует фрагментированное повествование и нелинейное время, чтобы создать расплывчатые границы между прошлым, настоящим и будущим. В рассказах "Смерть и компас" и "Круги...

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

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

Жанр:

Программы

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

неизвестно

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

неизвестно

Год издания:

ISBN:

неизвестно

Отзывы:

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

Рейтинг:

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

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

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

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

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

ListBox3.Items[i].ToSingle+5;
Lin.Position.y := ListBox4.Items[i].ToSingle+5;
Lin.RotationCenter.x := 0;
Lin.RotationCenter.y := 0;
Lin.RotationAngle := u;
Lin.Width := 1;
Lin.Height := s;

end;
end;
finally
end;
3. Промер.
Лучше предыдущей написан на библиотеке vsl. Создание графических примитивов
поддерживается на канве компонента Image. На fairmanke не получилось с линиями. А
здесь поддерживается из начальной точки в конечную.

procedure TForm1.Button1Click(Sender: TObject);
var
x1, y1, x2, y2, xLine1, yLine1, xLine2, yLine2: integer;
begin
x1 := StrToInt(Edit3.Text);
y1 := StrToInt(Edit4.Text);
x2 := StrToInt(Edit3.Text) + 10;
y2 := StrToInt(Edit4.Text) + 10;
Image1.Canvas.Ellipse(x1-5, y1-5, x2-5, y2-5);
Image1.Canvas.TextOut(x1 - 15, y1, Edit2.Text);
if Edit2.Text = '1' then
Image1.Canvas.TextOut(x1, y1 - 20, 'г-' + Edit1.Text);
ListBox1.Items.Add(Edit1.Text);
ListBox2.Items.Add(Edit2.Text);
ListBox3.Items.Add(Edit3.Text);
ListBox4.Items.Add(Edit4.Text);
xLine2 := StrToInt(Edit3.Text);
yLine2 := StrToInt(Edit4.Text);
if Edit2.Text '1' then
begin
xLine1 := ListBox3.Items[ListBox3.Items.Count - 2].ToInteger;
yLine1 := ListBox4.Items[ListBox4.Items.Count - 2].ToInteger;
Image1.Canvas.MoveTo(xLine1, yLine1);
Image1.Canvas.LineTo(xLine2, yLine2);
end;

Edit2.Text:=IntToStr(StrToInt(Edit2.Text)+1);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
ListBox1.Items[ListBox1.ItemIndex];
ListBox2.Items[ListBox2.ItemIndex];
ListBox3.Items[ListBox3.ItemIndex];
ListBox4.Items[ListBox4.ItemIndex];
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
ListBox1.Clear;
ListBox2.Clear;
ListBox3.Clear;
ListBox4.Clear;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
ListBox1.Items.SaveToFile('1.txt');
ListBox2.Items.SaveToFile('2.txt');
ListBox3.Items.SaveToFile('3.txt');
ListBox4.Items.SaveToFile('4.txt');
end;
procedure TForm1.FormShow(Sender: TObject);
var
i,x1, y1, x2, y2, xLine1, yLine1, xLine2, yLine2: integer;
begin
ListBox1.Items.LoadFromFile('1.txt');
ListBox2.Items.LoadFromFile('2.txt');
ListBox3.Items.LoadFromFile('3.txt');
ListBox4.Items.LoadFromFile('4.txt');
for i := 0 to ListBox1.Items.Count-1 do
begin
x1:=ListBox3.Items[i].ToInteger;
y1:=ListBox4.Items[i].ToInteger;
x2:=x1+10;
y2:=y1+10;
Image1.Canvas.Ellipse(x1-5,y1-5,x2-5,y2-5);
Image1.Canvas.TextOut(x1-15,y1,ListBox2.Items[i]);
if ListBox2.Items[i]='1' then
Image1.Canvas.TextOut(x1,y1-20,'г-'+ListBox1.Items[i]);
if ListBox2.Items[i]'1' then
begin
xLine2:=ListBox3.Items[i].ToInteger;
yLine2:=ListBox4.Items[i].ToInteger;
xLine1:=ListBox3.Items[i-1].ToInteger;

yLine1:=ListBox4.Items[i-1].ToInteger;
Image1.Canvas.MoveTo(xLine1, yLine1);
Image1.Canvas.LineTo(xLine2, yLine2);
end;
end;
end;
4. Прямая засечка.

Координирование промера по прямой засечке.
procedure TForm1.Button1Click(Sender: TObject);
var
xp, yp,x1,y1,x2,y2, cotan1, cotan2, x1line, y1line, tgA1p,b1,b2,a2,a3,a1p: 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);
ListBox3.Items.Add(FloatToStr(round(xp)));
ListBox4.Items.Add(FloatToStr(round(yp)));
Image1.Canvas.Ellipse(round(yp) - 5, round(xp) - 5, round(yp) + 5,
round(xp) + 5);
Image1.Canvas.TextOut(round(yp) - 15, round(xp) - 5, Edit10.Text);
if Edit10.Text = '1' then
Image1.Canvas.TextOut(round(yp) + 15, round(xp), 'г-' + Edit9.Text)

else
begin
x1line := StrToFloat(ListBox4.Items[ListBox4.Items.Count - 2]);
y1line := StrToFloat(ListBox3.Items[ListBox3.Items.Count - 2]);
Image1.Canvas.MoveTo(round(x1line), round(y1line));
Image1.Canvas.LineTo(round(yp), round(xp));
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.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);
end;
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
begin

Label7.Caption := 'y=' + X.ToString;
Label8.Caption := 'x=' + Y.ToString;
end;
end.
5. Обратная засечка.

Вычисляет точки галса и рисует на планшете.

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: real;
begin
x1 := strtofloat(Edit4.Text);
y1 := strtofloat(Edit3.Text);
x2 := strtofloat(Edit8.Text);
y2 := strtofloat(Edit7.Text);
x3 := strtofloat(Edit10.Text);
y3 := strtofloat(Edit9.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;
// a3 := a1 + b2;
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);
ListBox3.Items.Add(FloatToStr(round(xp)));
ListBox4.Items.Add(FloatToStr(round(yp1)));
ListBox5.Items.Add(FloatToStr(round(xp+StrToInt(Edit13.Text))));
ListBox6.Items.Add(FloatToStr(round(yp1-H+StrToInt(Edit14.Text))));
Image1.Canvas.Ellipse(round(yp1) - 5, round(xp) - 5, round(yp1) + 5,
round(xp) + 5);
Image1.Canvas.TextOut(round(yp1) - 15, round(xp) - 5, Edit12.Text);
if Edit12.Text = '1' then
Image1.Canvas.TextOut(round(yp1) + 15, round(xp), 'г-' + Edit11.Text)
else
begin
x1line := StrToFloat(ListBox4.Items[ListBox4.Items.Count - 2]);
y1line := StrToFloat(ListBox3.Items[ListBox3.Items.Count - 2]);
Image1.Canvas.MoveTo(round(x1line), round(y1line));
Image1.Canvas.LineTo(round(yp1), round(xp));
end;
Edit12.Text := intToStr(StrToInt(Edit12.Text) + 1);
end;
procedure TForm1.Edit10Change(Sender: TObject);
begin
Shape3.Top := StrToInt(Edit10.Text);
end;

procedure --">

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


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