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

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

Войти

МНК Афинное преобразование. Прошу Совета.

Тема в разделе "Программы для пересчета координат и поиска ключей", создана пользователем apostol-098, 1 сен 2023.

  1. apostol-098

    Регистрация:
    15 дек 2015
    Сообщения:
    15
    Симпатии:
    5
    Решил коснуться этой темы и попробовать реализовать частный случай.
    Подошел в лоб через уравнение суммы квадратов отклонений, частных производных и матричного решения СЛАУ. Вот только результат никудышный::biggrin24.gif::

    Очень прошу более опытных товарищей ткнуть меня носом в мой косяк!
    Логику рассуждений прислал. Рабочий файл excel.
    1.png
     

    Вложения:

    #1
  2. apostol-098

    Регистрация:
    15 дек 2015
    Сообщения:
    15
    Симпатии:
    5
    В общей матрице 3 и 4 диагональный элементы C-C D-D которые равны у меня единице - после производной подвержены суммированию как и все остальные и умножаются соответственно на кол-во исходных т..е. в моем случае 5 5.
    Основной вопрос решен!

    Если у знающих есть советы по данной теме в общем - буду рад)!
     
    #2
  3. zvezdochiot

    Форумчанин

    Регистрация:
    27 июн 2014
    Сообщения:
    6.010
    Симпатии:
    2.120
    Адрес:
    г. Москва
    Не используешь "центр масс", приведение к которому делает систему стабильной вне зависимости от значений координат (удаления от 0,0).
    Подробности смотри в Таблицы MS Excel для преобразования координат: [conformaltrans] (Конформное преобразование).
     
    #3
    apostol-098 нравится это.
  4. apostol-098

    Регистрация:
    15 дек 2015
    Сообщения:
    15
    Симпатии:
    5
    Да! я уже подсмотрел у ваших продуктов! Большое Вам спасибо за них!
    Основное назначение я так понимаю уменьшение степеней и соответственно уход от ошибок округления инструкциями процессора. Правильно?
     
    #4
  5. zvezdochiot

    Форумчанин

    Регистрация:
    27 июн 2014
    Сообщения:
    6.010
    Симпатии:
    2.120
    Адрес:
    г. Москва
    Не совсем. Матрица 2x2 - это тоже матрица, неважно, что маленькая. И у неё, как и у всех мариц, есть число обусловленности (я называю его числом плохости). Без приведения к "центру масс" составляющие этой матрицы будут бешено расти по мере удаления от 0, вместе с этим самым числом, А чем больше это число, тем менее стабильным становится решение этой матричной системы. Такие вот дела.

    PS: Я же помимо центрировки (приведения к "центру масс") делаю ещё и нормировку по дисперсии. Это чтоб наверняка.

    PS2: Привёл в ВАШЕЙ таблице координаты к "центру масс" -> сразу получил 2 первых коэффициента, равных исходным. (Оставшиеся два коэффициента будуп просто разностью двух "центров масс").
     
    #5
    apostol-098 нравится это.
  6. zvezdochiot

    Форумчанин

    Регистрация:
    27 июн 2014
    Сообщения:
    6.010
    Симпатии:
    2.120
    Адрес:
    г. Москва
    "Соврал" чуть-чуть. В "центрированной системе", где:
    Код:
    xo = x - Mx
    yo = y - My
    Xo = X - MX
    Yo = Y - MY
    
    Коэффициенты C и D выразяться из A и B следующим образом:
    Код:
    C = MX - Mx * A - My * B
    D = MY - My * A + Mx * B
    
     

    Вложения:

    #6
  7. apostol-098

    Регистрация:
    15 дек 2015
    Сообщения:
    15
    Симпатии:
    5
    Век живи - век учись
     
    #7
  8. zvezdochiot

    Форумчанин

    Регистрация:
    27 июн 2014
    Сообщения:
    6.010
    Симпатии:
    2.120
    Адрес:
    г. Москва
    Надо всё-таки дорассказать, что за "волшебство" происходит. Путём "централизации" ты "убиваешь" все недиагональные элементы. В результате твою матрицу 4x4 спокойно разделяем на 2 независимых матрицы 2x2 (а на самом деле на 4 независимых уравнения, то бишь не остаётся матриц вообще) и решаем их по отдельности. Такие вот дела.

    Вариант "без матриц" прилагаю.
     

    Вложения:

    #8
    Последнее редактирование: 1 сен 2023
    apostol-098 нравится это.
  9. zvezdochiot

    Форумчанин

    Регистрация:
    27 июн 2014
    Сообщения:
    6.010
    Симпатии:
    2.120
    Адрес:
    г. Москва
    Настоящее аффинное преобразование вида:
    Код:
    x' = Ax + By + C
    y' = Dx + Ey + F
    
     

    Вложения:

    #9

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

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