Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовая.docx
Скачиваний:
55
Добавлен:
02.04.2015
Размер:
737.97 Кб
Скачать

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. Результаты расчетов задач в разных программах совпали, что свидетельствует о правильности вычислений. Для окончательных результатов брались средние значения решений геодезических задач всех программных продуктов. Полученные навыки не заменимы в дальнейших работах в области геодезии.