Добро пожаловать!

Войдите или зарегистрируйтесь сейчас!

Войти

Определение параметров преобразования прямоугольных СК методом кватернионов

Тема в разделе "Геодезия как наука", создана пользователем Georg Keneberg, 16 ноя 2020.

  1. Georg Keneberg

    Форумчанин

    Регистрация:
    6 мар 2019
    Сообщения:
    61
    Симпатии:
    17
    Адрес:
    Санкт-Петербург
    Добрый день, в процессе расширения кругозора наткнулся на интересный итеративный процесс вычисления параметров трансформации в пространстве между разными прямоугольными системами координат минимум по трем точкам, основанным на алгебре кватернионов. Честно признаюсь, от самой алгебры кватернионов я пока далек, но представленные в статье (см. вложение, со стр. 17) методики показались мне вменяемыми и я решил хотя бы для эксперимента реализовать их в виде итеративного процесса (в MathCAD).
    Однако я немного запутался с логикой материала (стр. 22), когда в расчет вводятся все 3 координаты, и будут меняться формулы расчета (29-44), которые явным образом завязаны на 2х переменных или там имеется в виду параллельное решение 3х уранвений для двух пар векторов?
    P.S. Приложил документ MathCAD в архиве... ну и конечно не могу смириться с мнимыми числами в результатах ::sad24.gif::
    ___
    Собственно говоря, практическая необходимость в поиске метода решения по минимальному числу точек заключается в следующей задаче: есть большое число разных моделей ПО для проектирования, которое выгружает свою геометрию в сторонние обменные файлы. Один из них, общуполпулярный, IFC позволяет задавать ориентацию систему координат модели (базовую декартову, от которой идет разбивка геометрии модели) с помощью параметров смещения и трех эйлеровых (?) углов поворота каждой оси в отдельности. Есть возможность посмотреть на координаты точек здания/модели в исходной программе и есть значения координат данной модели в целевой системе (например, конечном генплане или в другой моделе, куда данная должна быть вставлена. То есть речь идет о необходимости по минимальному набору точек (координат X,Y,Z в старой и конечной СК) построить универсальное решение нахождения 3х параметров смещения (dX, dY, dZ) и 3х углов поворота. Масштабный коэффициент по понятным причинам не нужен (рассматриваемая "зона контакта" в пределах квадратного километра).
    Для случая решения, если базовые оси Z в начальной и конечной программе совпадают решение то несложное - изложено здесь (там же и сама сборочка .. корявенькая ::dry.gif::)
     

    Вложения:

    #1
    мирось нравится это.
  2. cr2

    cr2
    Форумчанин

    Регистрация:
    23 сен 2014
    Сообщения:
    786
    Симпатии:
    516
    7 параметров можно вычислить с помощью
    http://helmparms3d.sourceforge.net
    только учтите что углы поворота там в радианах а не в угловых секундах.
    6 параметров - линейная система уравнений, ее решит любой LSQ-solver.
     
    #2
  3. zvezdochiot

    Форумчанин

    Регистрация:
    27 июн 2014
    Сообщения:
    6.015
    Симпатии:
    2.128
    Адрес:
    г. Москва
    #3
    Qvinto нравится это.
  4. zvezdochiot

    Форумчанин

    Регистрация:
    27 июн 2014
    Сообщения:
    6.015
    Симпатии:
    2.128
    Адрес:
    г. Москва
    Хмм. А вот это всё не должно находиться в https://geodesist.ru/forums/programmy-dlja-perescheta-koordinat-i-poiska-kljuchej.97/ ?

    Не, смотрите сами, но по мне так надо бы перенести.

    Cast @В.Шуфотинский
     
    #4
    Последнее редактирование: 17 ноя 2020
  5. Georg Keneberg

    Форумчанин

    Регистрация:
    6 мар 2019
    Сообщения:
    61
    Симпатии:
    17
    Адрес:
    Санкт-Петербург
    Тут же вопрос скорее познавательно-математический, а не геодезический (нет привязки к фигуре земли...геодезическим координатам и т.д), рассматривается общее представление идеи трансформации одной 3D декартовой СК относительно другой. Метод Гельмерта, ну, как-то .. не сюда что ли, по моему мнению - слишком общий подход .. есть ли что-то более узкое?
     
    #5
  6. zvezdochiot

    Форумчанин

    Регистрация:
    27 июн 2014
    Сообщения:
    6.015
    Симпатии:
    2.128
    Адрес:
    г. Москва
    #6
  7. В.Шуфотинский

    В.Шуфотинский Модератор
    Команда форума Форумчанин

    Регистрация:
    10 дек 2008
    Сообщения:
    17.390
    Симпатии:
    5.008
    Слежу. Там готовые программы, здесь обсасывание идей, из которых возможно ничего и не выйдет.
     
    #7
    мирось и zvezdochiot нравится это.
  8. cr2

    cr2
    Форумчанин

    Регистрация:
    23 сен 2014
    Сообщения:
    786
    Симпатии:
    516
    Была такая страница с работающим в браузере кватернионным преобразователем-вычислителем
    7 параметров (javascript) и китайским примером.
    Сейчас она доступна только через archive.org
    https://web.archive.org/web/20160312214607/http://diegeodaeten.de/quaternionentransformation.html
    но все работающие компоненты оттуда можно выковырять ( quaternionentransformation.js ).

    Там же и список литературы:

    Horn, B.K.P. (1987), Closed-form solution of absolute orientation using unit quaternions, Journal of the Optical Society of America
    Nitschke, M., Knickmeyer, E.H. (2000), Rotation Parameters - A survey of Techniques, Journal of Surveying Engineering
    Sanso, F. (1973), An exact solution of the roto-translation problem, Photogrammetria 29
    Shen Y.-Z., Chen Y., Zheng D.-H. (2006), A quaternion-based geodetic datum transformation algorithm, Journal of Geodesy
     
    #8
    zvezdochiot нравится это.
  9. Yuri V.

    Форумчанин

    Регистрация:
    31 мар 2009
    Сообщения:
    2.407
    Симпатии:
    2.116
    А позовите уважаемого @ВЯЗ сюда. Он давно давно мне рассказывал о попытках описания деформаций с помощью этого аппарата. Признаться, не понял я ничерта.
    Но запомнил, звучало фантастически компактно и свежо для геодезии.
     
    #9
  10. Georg Keneberg

    Форумчанин

    Регистрация:
    6 мар 2019
    Сообщения:
    61
    Симпатии:
    17
    Адрес:
    Санкт-Петербург
    Я кстати сделал решение, плюнул на эти сложности (решение нужно вот-вот было), потом как-нибудь нормально сяду разберусь с теорией (очень уж интересно поковырять кватернионы дальше)
    Реализовал по частному принципу (по сути, как исключение в "мире САПР" - для оси Z вверх и правосторонней СК), тогда общее уравнение преобразование вырождается в частное f(N) = f(dX, dY, dZ,ωz )
    Из разностей координат по методу наим. квадратов формирую матрицу поворота, потом нахожу параметры сдвижки и уже пихаю в IFC
     
    #10
  11. zvezdochiot

    Форумчанин

    Регистрация:
    27 июн 2014
    Сообщения:
    6.015
    Симпатии:
    2.128
    Адрес:
    г. Москва
    Оффтоп
    Поиск... (https://geodesist.ru/search) кватернион

    Ничего не найдено.

    Почините уже этот "Поиск" или уберите вообще!
     
    #11
    Georg Keneberg нравится это.
  12. X-Y-H

    X-Y-H Администратор
    Команда форума Форумчанин

    Регистрация:
    18 май 2007
    Сообщения:
    21.990
    Симпатии:
    7.207
    Адрес:
    Россия
    Оффтоп

    zvezdochiot, https://geodesist.ru/search/37004024/?q=кватернионов&o=date&c[node]=90
    https://geodesist.ru/search/37004026/?q=кватернион&o=date&c[node]=90
    https://cse.google.com/cse?cx=partn...ms,nrl=13...0.0...2.34.partner-generic..0.0.0.

    Не было такого слова не находил - у нас тут не яндекс. Есть слово - система находит, нет - нет. Слово должно совпадать по буквам.

    Есть специальный модуль, цены ниже - НО! 1. это переход на новую версию 2. Время или деньги на дизайн 3. Мы закрываем галерею.

    XenForo Enhanced Search $55.00 This is an add-on that provides an enhanced version of the XenForo search system, allowing higher quality results and faster searching.

     
    #12
  13. ErnieBoyd

    Форумчанин

    Регистрация:
    10 июн 2014
    Сообщения:
    272
    Симпатии:
    161
    Кватернионы для нахождения параметров преобразования Бурша-Вольфа не подходят. Они немного о другом. Начну издалека.

    0. Преобразование Гельмерта

    На картинке формула классического преобразования 7 параметров.
    Обратим внимание на матрицу вращения R.

    form0.png
    --- Сообщения объединены, 25 ноя 2020, Оригинальное время сообщения: 25 ноя 2020 ---
    1. Модель 1. Малые вращения

    Чтобы ловчее представить элементы матрицы R, примем модель с углами Эйлера, в которой последовательно осуществляем вращение на углы ωx, ωy, ωz вогруг соответствующих осей.

    Вид полученной матрицы зависит от выбранной последовательности вращений (всего шесть вариантов по числу возможных комбинаций). Учитывая малость углов, разложим синусы и косинусы в ряды по степеням. Заметим, что все варианты выглядят одинаково, если пренебречь членами разложений, начиная со второго.

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

    При условии малости углов вращения формулы обычно устраивают геодезистов.

    form1.png
    --- Сообщения объединены, 25 ноя 2020 ---
    2. Модель 2. Большие вращения

    Они же малые, когда нам нужна высокая точность. Вследствие того, что для «матрицы вращения» транспонированная и обратная матрицы не совпадают, принятое в геодезии упрощенное преобразование 7 параметров туда и обратно не сохраняет исходные координаты. Нужна другая модель.

    Вернёмся к строгому уравнению Гельмерта. Рассмотрим вращение вокруг оси, ориентация которой определяется направляющими косинусами ci. Угол вращения равен ω.

    form2.png
    --- Сообщения объединены, 25 ноя 2020 ---
    3. Мат. методы

    Два способа считать вращение в модели 2:
    Вторая формула связана с кватернионами.
     
    #13

Поделиться этой страницей

  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление