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

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

Войти

Подскажите программы, которые позволяют вычислить параметры аффинного преобразования

Тема в разделе "Программы для пересчета координат и поиска ключей", создана пользователем adon73, 2 дек 2012.

  1. adon73

    Форумчанин

    Регистрация:
    26 июл 2011
    Сообщения:
    1.408
    Симпатии:
    176
    Подскажите программы, которые позволяют вычислить параметры аффинного преобразования между произвольным наабором координат точек в 2 системах.
    Желательно, в свободного доступе...
     
    #1
  2. unknown

    Форумчанин

    Регистрация:
    24 июн 2009
    Сообщения:
    518
    Симпатии:
    51
    ёксель 2000/2003 с надстройкой "поиск решения".
     
    #2
    SergKo нравится это.
  3. ZemZem

    Форумчанин

    Регистрация:
    11 июн 2009
    Сообщения:
    1.974
    Симпатии:
    484
    КредоТранскор, но не в свободном доступе.
     
    #3
  4. adon73

    Форумчанин

    Регистрация:
    26 июл 2011
    Сообщения:
    1.408
    Симпатии:
    176
    Интересно посмотреть пример вычисления параметров в EXCEL с надстройкой "Поиск решения"...
     
    #4
  5. Vladimir VV

    Форумчанин

    Регистрация:
    7 июн 2009
    Сообщения:
    2.770
    Симпатии:
    901
    Адрес:
    Москва, Россия
    На сайте http://www.racurs.ru/?page=5 выложены в свободном доступе:
    - ПО «Вычисление 7 параметров» - программа позволяет определить параметры преобразования систем координат;
    - ПО «Вычисление параметров проекции» - программа позволяет вычислить неизвестные параметры проекции Гаусса-Крюгера.
    (эти программы ниже в прикрепленных файлах).
     

    Вложения:

    #5
    max7, Ohr и filippov70 нравится это.
  6. adon73

    Форумчанин

    Регистрация:
    26 июл 2011
    Сообщения:
    1.408
    Симпатии:
    176
    На Ракурсе, увы, эти утилиты не решают вопроса нахождения параметров аффинного преобразования...
     
    #6
  7. adon73

    Форумчанин

    Регистрация:
    26 июл 2011
    Сообщения:
    1.408
    Симпатии:
    176
  8. stout

    Форумчанин

    Регистрация:
    5 янв 2008
    Сообщения:
    4.172
    Симпатии:
    11.936
    Адрес:
    Златоглавая и Белокаменная
    Скажем так, рассмотрен простейший частный случай конформного преобразования - ортогональное преобразование.
    Оно работает далеко не всегда и вы это прекрасно знаете.
    Тоже самое делает программа CALC_KOORD уважаемого Valang'a.
    Попробуйте предложить им найти параметры и преобразовать координаты из своего примера
    Пример (раскрыть)
    если я ничего не напутал, то это часть вашего примера
    Код:
    108а;16974.03;12923.25;5862235.22;2289609.28
    ?
    Или, если сподоблюсь там ответить (времени катастрофически не хватает), вы позволите мне привести ваш пример?
    Из доступных источников мне нравится Weighted Coordinate Transformations and their applications
    Описание настоящего конформного преобразования дано в Geomatics Guidance Note number 7, part 2
    2.3.1.2 Polynomial transformation with complex numbers
    Тоже самое есть в учебнике Евгения Григорьевича Бойко Сфероидическая геодезия.
     

    Вложения:

    #8
    Stepan_S нравится это.
  9. srgkv

    Форумчанин

    Регистрация:
    2 апр 2010
    Сообщения:
    22
    Симпатии:
    23
    #9
  10. adon73

    Форумчанин

    Регистрация:
    26 июл 2011
    Сообщения:
    1.408
    Симпатии:
    176
    Как выше писали, это не совсем то...
     
    #10
  11. adon73

    Форумчанин

    Регистрация:
    26 июл 2011
    Сообщения:
    1.408
    Симпатии:
    176
    Пользователи автокада используют команду "выровнять" (_align), которая по 2 (3) указаниям исходных - результирующих точек переносит, поворачивает и масштабирует объекты, но сколько не искал - не находил lisp программу, которая бы могла вывести в текстовое окно эти параметры, которые фактически вычисляются программой и используются для трансформации...
     
    #11
    Drakoduv нравится это.
  12. X-Y-H

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

    Регистрация:
    18 май 2007
    Сообщения:
    21.789
    Симпатии:
    7.068
    Адрес:
    Россия
    А что мешает сделать блок перед выравниванием и потом посмотреть его характеристики?
     
    #12
    i77artur нравится это.
  13. Djek

    Форумчанин

    Регистрация:
    28 мар 2011
    Сообщения:
    77
    Симпатии:
    19
    Адрес:
    Донбасс, Донецк
    Ребят, у кого есть доступ к Транскору. Посчитайте параметры трансформации будьте так любезны.
    Очень нужно
     

    Вложения:

    • TrCoord.xlsx
      Размер файла:
      8,2 КБ
      Просмотров:
      28
    #13
  14. zvezdochiot

    Форумчанин

    Регистрация:
    27 июн 2014
    Сообщения:
    5.915
    Симпатии:
    2.092
    Адрес:
    г. Москва
    https://github.com/zvezdochiot/geofindkey
     
    #14
  15. stout

    Форумчанин

    Регистрация:
    5 янв 2008
    Сообщения:
    4.172
    Симпатии:
    11.936
    Адрес:
    Златоглавая и Белокаменная
    Ваша программа находит параметры ортогонального преобразования.
    С одной стороны, это правильно для геодезиста, так как он имеет дела с конформными проекциями, а ортогональное преобразование сохраняет конформность.
    Но вопрос стоял о более общем случае, об аффинном преобразовании.
     
    #15
  16. zvezdochiot

    Форумчанин

    Регистрация:
    27 июн 2014
    Сообщения:
    5.915
    Симпатии:
    2.092
    Адрес:
    г. Москва
    Совершенно верно. Хмм. Построить МНК по общей формуле аффинного преобразования и решить систему нормальных уравнений, не используя центра масс, после чего загнать это в си? Не проще ли в таблице это провернуть. Кодить без конкретной задачи - абсурдная затея.
     
    #16
  17. stout

    Форумчанин

    Регистрация:
    5 янв 2008
    Сообщения:
    4.172
    Симпатии:
    11.936
    Адрес:
    Златоглавая и Белокаменная
    Это очень, очень плохая идея. Хотя можно и так, но только в том случае, если у вас есть четверная точность, что-то типа __float128 в gcc. Ибо для промежуточных результатов будет не хватать разрядной сетки (52+1 бит мантиссы), отводимой под двойную точность. Да и расширенная точность (64 бита мантиссы) здесь не поможет.
    Решение задачи МНК в общем случае через составление нормальных уравнений есть вселенское зло. (Ответ, почему это так, можно найти в книге Лоусона и Хенсона Solving Least Squares Problems.) Хотя иногда на это идут вынужденно, с осознанием трудностей, которые предстоит преодолевать.
    Проще. Но ещё проще на Visual Basic for Applications::biggrin24.gif::
     
    #17
  18. X-Y-H

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

    Регистрация:
    18 май 2007
    Сообщения:
    21.789
    Симпатии:
    7.068
    Адрес:
    Россия
    stout, зло то почему?
     
    #18
  19. zvezdochiot

    Форумчанин

    Регистрация:
    27 июн 2014
    Сообщения:
    5.915
    Симпатии:
    2.092
    Адрес:
    г. Москва
    Ссылка на хорошую книгу никогда не повредит:
    Чарльз Лоусон (Charles L. Lawson)

    Весьма сомнительное заявление, учитывая, что аффинное преобразование - это достаточно "произвольное" преобразование. Как бы ни был "хорош" алгоритм, параметры, которые он выдаст, вряд ли будут соответствовать "ожидаемым" результатам. И не имея промежуточных таблиц будет невозможно "скорректировать" результат.
     
    #19
  20. stout

    Форумчанин

    Регистрация:
    5 янв 2008
    Сообщения:
    4.172
    Симпатии:
    11.936
    Адрес:
    Златоглавая и Белокаменная
    число обусловленности исходной матрицы условных уравнений возводится в квадрат ⇒ надо в два раза увеличивать разрядность вычислений.
    З.Ы. Если память не изменяет, то кредовцы используют SVD, без составления нормальных уравнений.
     
    #20

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

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