- •Курсовая работа
- •Пояснительная записка
- •Кафедра Информатики и компьютерных технологий курсовая работа
- •Задание
- •Аннотация
- •The summary
- •Оглавление
- •Введение
- •1 Расчет неприступного расстояния
- •Теорема синусов для треугольника авс1:
- •2 Решение прямой угловой засечки по формуле Юнга
- •3 Решение прямой угловой засечки по формулам Гаусса
- •4. Решение обратной угловой засечки по формулам Пранис-Праневича
- •Заключение
- •Список литературы
4. Решение обратной угловой засечки по формулам Пранис-Праневича
В данной задаче необходимо было вычислить координаты точки P, по координатам трех заданных точек 1, 2и 3и двум углами(рис. 13).
Рис. 13. Схема для вычисления координат по формулам Пранис-Праневича.
Для вычисления координат точки P использовались формулы Пранис-Праневича:
,
где ,
,
,
,
.
Сначала задача была решена средством МS Excel. Результат представлен на рис. 14.
Рис. 14.Рабочее окно при расчете обратной угловой засечки
по формулам Пранис – Праневича средствами МSExcel
Результат вычисления координат точки Р в МS Excel приблизительно м,м.
Затем решение осуществлялось средствами MathCAD. В результате чего был получен следующий вид вычисления координат точки Р:
Рис. 14.Рабочее окно при расчете обратной угловой засечки
по формулам Пранис – Праневича в MathCad
Результат оказался равным м,м.
Далее решение выполнялось средствами MatLab. Результат представлен на рис. 15.
Программный код:
clc
x1=input('x1->');
y1=input('y1->');
x2=input('x2->');
y2=input('y2->');
x3=input('x3->');
y3=input('y3->');
ag=input('a(grad)->');
am=input('a(min)->');
bg=input('b(grad)->');
bm=input('b(min)->');
a=ag+am/60;
b=bg+bm/60;
b=b*pi/180;
a=a*pi/180;
tgq =((y2-y1)/tan(a)-(y3-y2)/tan(b)+x1-x3)/((x2-x1)/tan(a)-(x3-x2)/tan(b)-y1+y3);
n=(y2-y1)*(1/tan(a)-tgq)-(x2-x1)*(1+1/tan(a)*tgq);
dx=n/(1+tgq^2);
dy=dx*tgq;
xp=x2+dx
yp=y2+dy
Рис. 14.Рабочее окно при расчете обратной угловой засечки
по формулам Пранис – Праневича в MatLab
Результат вычисления координат точки Р в MatLab м,м.
Решение данной задачи завершалось вычислением координат точки Р средствами Visual Basic 6.0. Был получен следующий вид решения, результат которого представлен на рис. 16.
Программный код:
Function ctg(x)
ctg=Cos(x) /Sin(x)
EndFunction
PrivateSub Command1_Click()
Cls
X1 = Val(txtx1.Text): Y1 = Val(txty1.Text)
X2 = Val(txtx2.Text): Y2 = Val(txty2.Text)
x3 = Val(txtX3.Text): y3 = Val(txty3.Text)
a = Val(txtag.Text) + Val(txtam.Text) / 60
b = Val(txtbg.Text) + Val(txtbm.Text) / 60
pi = 3.1415926
a = a * pi / 180
b = b * pi / 180
tgq = ((Y2 - Y1) * ctg(a) - (y3 - Y2) * ctg(b) + X1 - x3) / ((X2 - X1) * ctg(a) - (x3 - X2) * ctg(b) - Y1 + y3)
n = (Y2 - Y1) * (ctg(a) - tgq) - (X2 - X1) * (1 + ctg(a) * tgq)
dx = n / (1 + tgq * tgq)
dy = dx * tgq
xp = X2 + dx
yp = Y2 + dy
Print "xp="; xp, "yp="; yp
End Sub
Рис. 14.Рабочее окно при расчете обратной угловой засечки
по формулам Пранис – Праневича в VisualBasic
Результат вычисления координат точки Р в Basic 6.0 приблизительно м,м.
Заключение
Целью курсовой работы является решение базовых геодезических задач в разных программных продуктах: MS Excel, MathCAD, MatLab, Visual Basic 6.0. Результаты расчетов задач в разных программах совпали, что свидетельствует о правильности вычислений. Для окончательных результатов брались средние значения решений геодезических задач всех программных продуктов. Полученные навыки не заменимы в дальнейших работах в области геодезии.