Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.12.2009, 17:15   #1
Arkuz
Форумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Сообщений: 540
По умолчанию Неверно отрабатывает алгоритм обратной геодезической засечки

Здравствуйте.

Облазил кучу ресурсов, нашёл несколько алгоритмов.
Вот последний алгоритм, у которого один вариант правильно отрабатывает, а другеи нет.

Вариант, который отрабатывает, у него углы до 180 градусов, а те, которые не работают они больше 180 градусов.
Может в этом дело, может есть какой-то ньюанс?

Код:
function TForm1.calc(al, bg, x1, x2, x3, y1, y2, y3: double): fres;
var
 a,b,k1,k2,k3,k4,tga,dx,dx1,dy:double;
 res:fres;
begin
 a:=cotan(al);
 b:=cotan(bg);

 k1:=(x2-x1)*a+(y2-y1);
 k2:=(y2-y1)*a-(x2-x1);
 k3:=(x3-x1)*b+(y3-y1);
 k4:=(y3-y1)*b-(x3-x1);

 tga:=(k4-k2)/(k3-k1);

 dx:=(k1*tga-k2)/(1+tga*tga);
 dx1:=(k3*tga-k4)/(1+tga*tga);

 if dx=dx1 then ShowMessage('dx=dx1')
           else ShowMessage('dx<>dx1');

 dy:=dx*tga;

 res.x:=x1+dx;
 res.y:=y1+dy;

 result:=res;
end;
Arkuz вне форума Ответить с цитированием
Старый 19.12.2009, 17:21   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

непосредственно алгоритм разбирать не буду, но вот из этого...
Цитата:
Геодезические засечки применяют, как правило, для определения координат отдельных точек. В качестве исходных данных используют пункты существующих геодезических сетей, а в качестве измеряемых величин - горизонтальные углы и расстояния.

Плановое положение точки определяется двумя её координатами X, Y, поэтому для реализации любой засечки необходимо измерить, как минимум, две независимые величины ( углы, расстояния ), каким-либо образом связывающие определяемую точку с исходными пунктами.

Наибольшее распространение в практике создания геодезической плановой основы получили прямая и обратная ( боковая )угловые засечки, а также задача Потенота ( определение положения четвёртой точки по трём данным ).

Сущность прямой угловой засечки состоит в том, что искомую точку находят как пересечение двух направлений и с твёрдых ( исходных ) пунктов и . Направления на определяемую точку задают, измерив горизонтальные углы и с исходной стороной .

Сначала решают , в результате чего находят длины сторон и :
Затем вычисляют дирекционные углы этих сторон:
Решив прямые геодезические задачи по сторонам и , получают координаты точки :
контроль:

Для того чтобы проконтролировать результат решения прямой угловой засечки, точку «засекают» с какого-нибудь третьего исходного пункта ( пункта С ) и решают задачу еще раз с новой комбинацией направлений.

При выборе исходных пунктов для выполнения засечки руководствуются соображением, что при прочих равных условиях задача решается тем точнее, чем ближе угол к 90. Не допускается выполнять прямую угловую засечку, если этот угол меньше 30 и больше 150.

В производственных условиях может оказаться, что один из опорных пунктов, например, недоступен для измерения на нём горизонтального угла. В таком случае прямое направление «засекают» не из исходной точки , а из определяемого пункта «на себя», как бы в обратную сторону, поэтому такую схему определения координат точки называют обратной угловой засечкой. Последовательность и сущность решения обратной угловой засечки совпадает с последовательностью и сущностью решения прямой угловой засечки.

Координаты отдельной точки можно получить по схеме, называемой «задачей Потенота», не выполняя никаких измерений на исходных пунктах. Определение координат точки по трём исходным пунктам особенно эффективно, когда эти пункты недоступны для измерения горизонтальных углов. Схема реализуется путём измерения в определяемой точке углов и , образованных направлениями на опорные точки .

Задача может быть решена различными способами: аналитическим, графическим, смешанным. Однако геометрический смысл любого решения состоит в том, что исходная точка получается в пересечении двух окружностей и , из которых первая задана хордой и углом , вторая - хордой и углом . Задача имеет неопределённое решение, если обе окружности полностью совпадут. Это произойдёт в том случае, когда искомая точка находится на «опасной окружности» , проходящей через три исходных пункта.

В населённом пункте с прямоугольными кварталами или в лесу с просеками для создания плановых геодезических сетей могут применятся построения в виде примыкающих друг к другу четырёхугольников без диагоналей, в которых измеряют стороны и углы.

Для определения взаимного положения точек, расположенных на значительном удалении друг от друга, в настоящее время используют методы космической геодезии, основанные на синхронной засечке с определяемых и исходных пунктов искусственных спутников Земли.

Особое место в практике построения плановых геодезических сетей на неосвоенных в геодезическом отношении территориях занимают астрономические методы определения координат и азимутов. Результаты таких определений используют в качестве исходных данных для вновь создаваемых геодезических плановых сетей.
следует, что величины углов должны быть строго определенные, так что ройте в этом направлении.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 19.12.2009, 17:33   #3
Arkuz
Форумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Сообщений: 540
По умолчанию

Спасибо... Я на счёт углов и сомневался, но вот что-то нигде не могу найти... Даже в старых книгах по геодезии ничего про углы не написано...
Arkuz вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макрос не отрабатывает копирование при общем доступе к книге Chelentano Microsoft Office Excel 6 07.08.2009 20:17
Что неверно в макросе? Иванов_ДМ Microsoft Office Excel 11 22.05.2009 21:57
Неверно обрабатывается GET-запрос Cold_Night Работа с сетью в Delphi 3 31.03.2009 12:17
Алгоритм нахождения обратной мтарицы AlinAA Помощь студентам 1 22.03.2009 12:20
sql запрос работает неверно :( Vasya БД в Delphi 4 26.08.2007 14:59