Курсовая работа: Использование современной компьютерной техники и программного обеспечения для решения прикладных задач в области геодезических измерений
x C
A
B
y
Рис. 1.1
Пусть даны две точки А и В (рис. 1.1), координаты
которых соответственно
Согласно схеме, показанной на рис. 1.1, приращения
координат определяются:
(1.1)
Затем находят величину румба.
(1.2)
Далее по знакам приращения координат находят название
четверти, что, в свою очередь, позволяет определить значение дирекционного
угла.
Табл.
1.1.
Знаки приращения координат |
Название четверти |
Формула дирекционного угла |
|
|
+ |
+ |
I |
= r
|
- |
+ |
II |
r
|
- |
- |
III |
r
|
+ |
- |
IV |
r
|
Определение
значения дирекционного угла
Горизонтальное
расстояние между точками может быть определено по формуле:
(1.3)
или по формуле:
(1.4)
Перевод вычисленного дирекционного угла в градусную
меру может быть выполнен различными способами. Один из возможных способов
следующий:
Переводим величину в градусную меру
;
Выделяем целую часть ;
Вычисляем остаток и переводим его в минуты
;
Вычисляем целое число минут
;
Определяем остаток минут, переводим в секунды и
округляем до целого
.
Значение дирекционного угла в градусах, минутах и секундах
дают, соответственно, значения переменных m, s.
1.2 Постановка задачи
Даны координаты 2-х точек A(х,y) и B(x,y). Определить
дирекционный угол прямой AB.
1.3 Исходные данные
Вариант 2
А) X1
= 5119.94 Y1 = 6157.33
X2 = 7182.27 Y2
= 4976.39
В) X1
= 10932.84 Y1 = 6112.26
X2 = 9115.24 Y2
= 4903.68
1.4. Блок схема для Turbo Pascal
*процедура для определения приращений;
**процедура для определение значения
дирекционного угла и четверти;
***процедура для перевода из радиан в
градусы.
1.5 Текст программы
Program
Zadacha1;
Uses
CRT;{использование библиотеки}
Var i,j,k:integer;{описание переменных}
x1,y1,x2,y2,x3,y3,x4,y4,Dy,Dx,Dx1,Dy1,R,R1,Alfa,alfa1,S,S1:real;
AlfaGr,AlfaMi,AlfaS,AlfaGr1,AlfaMi1,AlfaS1:real;
t1,t2:text;
{процедура для определения приращений}
procedure Prir (var k1:real; var
k2:real; var Dd:real);
begin
Dd:=k2-k1;
end;
{процедура для перевода в грудусы}
procedure Gradyc (var
A,AGr,AMi,AS:real);
Var
AG,AM:real;
begin
AG:=180*(A/Pi);
AGr:=int(AG);
AM:=60*(AG-AGr);
AMi:=int(AM);
AS:=int(60*(AM-AMi));
end;
{процедура для определение значения дирекционного
угла и четверти}
procedure Analiz (var X,Y,R,A:real);
begin
If (X>0) and (Y>0) Then
Begin
A:=R;
Writeln('I chetvert');
Writeln(t2,'I четверть');
Writeln('Direkcionnii ygol
raven(v radianax):');
Writeln(t2,'Дирекционный
угол равен(в радианах):');
Writeln(A:6:3);
Writeln(t2,A:6:3);
End;
If (X<0) and (Y>0) Then
Begin
A:=(Pi)-R;
Writeln('II chetvert');
Writeln(t2,'II четверть');
Writeln('Direkcionnii ygol
raven(v radianax):');
Writeln(t2,'Дирекционный
угол равен(в радианах):');
Writeln(A:6:3);
Writeln(t2,A:6:3);
End;
If (X<0) and (Y<0) Then
Begin
A:=(Pi)+R;
Writeln('III chetvert');
Writeln(t2,'III четверть');
Writeln('Direkcionnii ygol
raven(v radianax):');
Writeln(t2,'Дирекционный
угол равен(в радианах):');
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9 |