Каюсь, мне показалось решение изящным, а оно даст приемлемый результат только только для точек, РАВНОМЕРНО расположенных на окружности Мой предварительный результат: Координаты центра 1223.383 1180.487 , усредненный радиус = 9,763 м. (СКО центра 0.105 м, хотя, в данном задачи подобное СКО имеет мало смысла, указывает лишь на разлет разных радиусов, а не на корректность аппроксимации. Редактировал, бо ошибся вначале;) Близко к Вашим результатам? Вот, блин, это же разброс точек от окружности считать... Хотя, да, это будет самая объективная оценка качества аппроксимации.
Координаты центра х=1223.38771, у=1180.32215, сред.радиус 9.98465м, Минимальное СКО от центра до исх. координат вдоль радиуса 31.06 мм. Считал и подбирал МИН в MS Exsel.
Несколько сожалею, что опередили, но я прикидывал с учетом вышесказанных своих утверждений, немного правда заблуждался, кук надо было считать, но открыв "Методы Вычислений" Бахвалова и посмотрев статью http://ru.wikipedia.org/wiki/Метод_наименьших_квадратов, чтобы освежить нетрезвую память, загнал все в Маткад и результат следующий: радиус 9,987 координаты центра (x; y) соответственно 1 223,380; 1 180,324 максимальное отклонение 0,048 (все отклонения в приложенном расчете имеются) Файл гружу в архиве zip ибо расширение Маткада (xmcd) не кушает
Перепроверил, не все учёл, новые данные: координаты центра х=1223.38984, у=1180.32379, сред.радиус 9.98706м, Минимальное СКО от центра до исх. координат вдоль радиуса 32.503216 мм. Max абсолютное отклонение 48.46 мм. Файл MS Exsel прилагается, в котором считал и подбирал min.
Парадокс в том, что даже не мы сдаем эту трубу, и даже прямых отношений с заказчиком не имеем. Я крен измерял два раза (с двух и с трех точек) и при высоте трубы всего 60м, брал в первом случае 4, во втором 5 сечений. Первый раз общий крен получился 20мм, второй раз 13мм. Цифры я отдал тем кто оформляет...но заказчику надо показать свою заинтересованность и правильность видимо...и начинаются предложения: сделайте еще измерения, да возьмите немного другие сечения, вдруг получится все в допуске и все будут счастливы)) Меня однако заинтерсовало, каким способом все таки можно прийти к верному решению и будут ли расхождения с обычными измерениями. Ну в трубу то уже не залезешь, дверей нет. А даже если бы и были, это надо потом внутри трубы натягивать струны что ли. Изгиб трубы возникает в процессе погрешностей монтажа. Труба металлическая. Звенья приваривают немного криво и труба например на середине может немного уклониться от вертикали, далее потом ее монтируют с загибом в другую сторону. В итоге центры низа и верха могут находиться на одной отвесной линии, а середина уйдет в сторону. 1) В одном звене разные диаметры получаются. 2) С тем, что точностьпонижается от этапа к этапу с вами полностью согласен - ошибки в измерении расстояния до точек трубы под разным углом в безотражаетльном режиме - попадание немного не в то сечение по высоте с соседней станции (если специально не следить за высотой) - ошибки при переходе на другую точку набрать точки равномерно также не получится. С одной стороны труба примыкает к котлу. пробовал строить сплайн в автокаде по полученным точкам. не очень наглядно и муторно сравнивть. Тем более не известно истинное положение нижнего звена в плане. Можно конечно нарисовать в проектом центре проектный круг, но думается мне тогда отлеты еще больше будут. Также слышал, что самые верхние сечения имеют внешний диаметр немного меньше нижних (например на несколько миллиметров, к примеру 10) 3) Труба из металла, иначе бы даже не пытался снимать ее по кругу.
2-я итерация ;) x= 1223.388 y=1180.365 Rокружности =9.9727 И это еще не предел! Уфффф, после 8-й итерации поправки уходят в четвертый знак, средний радиус не изменился до четвертого знака. Самоистязание прекращаю;) x= 1223.390 y= 1180.324 Rокружности =9.9870 ... На десятую итерацию уже нет времени;) Отклонения точек 1-10 от окружности, м: -0.041 0.042 0.004 -0.045 0.048 0.000 -0.008 -0.031 0.025 0.006 Если принять во внимание округления, то результат похож на результат kub13.
Поздравляю всех с правильным решением! Мой результат (решение в CREDO_DAT): X= 1223.3898 Y= 1180.3238 R =9.9870 Кстати сказать, в DAT всё делается не так уж и долго. При некотором навыке (как пристрелка в артиллерии - недолёт, перелёт) итертациями быстро достигается попадание в цель. Если "радиусов" не много (не сотни), то не обязательно редактировать их через приборную поправку C. Можно перебить простым копированием. А в версии DAT 4 есть возможность (в свойствах) разом изменить все измеренные на станции расстояния.
Так, что мы еще раз протестили алгоритм уравнивания КРЕДО ДИАЛОГа, спасибо ЮС за увлекательную задачку! (просто так тестировать лениво) kub13, у Вас впечатляющий стиль работы в Exel, не понял, но понравилось! Реализовали итеративный алгоритм, али как? vadimart92, поясніть, будь ласка Ваш файл. Ви визначили параметри рівняння кола? А координати і радіус? tsg, Mathkadа нету... У вас, практически те же результаты, только - 1 223,380, может, опечатка? аппаратный ключ на работе Но, попробовал. Ломанную 3.0 версию не использовал под страхом наказания модерами форума .А Досовое дало те же результаты, миллиметр в миллиметр! Нашел единственный способ автоматизации - через экспорт ведомостей в EXEL формируя файлы измерений и называя центр окружности CENTER1-CENTERn (короче, лучше решать такое в VBA или др. )
Вначале речь шла о графическом решении, я предлагал Автокад. Но потом речь зашла о строгом решении... А как Вы предлагаете в топоплане? Есть возможность аппроксимации точек не сплайном, а окружностью?
Использовал, созданный ещё давно шаблон для определения координат центра круга и радиуса по трем точкам. Часть применяемых функций свои. Данный способ последовательного определения радиуса удобно использовать при съёмке ж.д. кривых. Наглядно видно начало кривой и тенденцию изменения радиуса. От среднего значению координат центра определил расстояние до исходных точек. И квадрат разности со средним значением, и СКП. Далее всё просто. К полученному центру прибавлял или отнимал поправки в значения Х и У, (средний радиус при этом тоже менялся) до получения минимального значения суммы квадратов отклонений =0.0095081315376932. Для удобства и наглядности привязал ячейки поправок к вертикальной и горизонтальной полосам прокрутки, с точностью до 10 микрон. Кстати подобный метод, удобно, применять при съёмки подкрановых путей. Если Вы, конечно желаете, чтобы сумма ошибок на исполнительной схеме была минимальной и в случае необходимости ремонта - минимум рихтовки.
А по какому принципу выбираете сочетания точек? Не все же варианты перебирать? У меня на 7-ой итерации вышло 0.0094760, дисперсия 0.001052889, за строгое решение не ручаюсь. Это серьезно? А как это делается?
Поправки в ячейках Y15, Z15. Правой кнопкой мыши щёлкните на полосе прокрутки, выберете "Формат объекта...", далее думаю будет понятно. Если будут вопросы пишите. Изначально берётся: Вид/ Панели инструментов/ Формы В качестве использования других форм MS Exsel в геодезии можете посмотреть: http://geodesist.ru/forum/threads/n...разование-сырых-данных-RAW-и-обработки.15185/
Оффтоп (Move your mouse to the spoiler area to reveal the content) Большое спасибо! Осваивал EXEL методом тыка под конкретные задачи, мануалы для него пространные, читать некогда. Подсмотрел у Вас интересные моменты, спасибо!
Перебиралось 8 последовательных вариантов, для получения среднего значения, от которого надо было найти сдвиг. Поэтому в первоначальном точном определении центра и в переборе всех вариантов не было необходимости. Задача стояла в поиске минимума отклонений. То есть сдвиг можно было начинать взяв среднее координат (судя из картинки) точек 2,9,5,10 (1223.866, 1180.494). Если мне пришлось ввести поправку (сдвинуть центр) на -53.1 мм и 70.69, то в этом случае потребовалось бы -476.61 мм и -170.21 соответственно. Только что проверил, результат совпадает.
Могу и макросами поделиться, если интересует. Правда кроме функций сразу трудно что можно использовать. Постараюсь слегка оформить другие свои наработки и выложить на форуме. Это уже выходит за рамки данной темы.
Оффтоп (Move your mouse to the spoiler area to reveal the content) Я поступил немного иначе в поисках автоматизированного решения (памятуя критику ЮС про среднее из координат) Для первого приближения определил максимальное расстояние между точками (грубый диаматр) и половину его использовал для многократной линейной засечки. Потом в EXEL сделал лист-шаблон для n-ой итерации. По обраткам вычислялся усредненный радиус и оценка ошибок. Тупо скопировал на следующие листы. На седьмом-восьмом листе разница радиусов перестала быть значимой. Было интересно наблюдать за динамикой уравнивания "вживую", а так, считаю, такие задачи нужно полностью вгонять в функцию. Не подскажите, VBA в EXEL допускает переменное число аргументов в функции? А можно ли использовать константы и переменные из VBA-МОДУЛЯ в ячейках EXELя? полносмтью согласен, наверное нужно открыть тему по обмену опытом работы в EXEL