4.1 Интерполяция кубическими сплайнами

แชร์
ฝัง
  • เผยแพร่เมื่อ 2 พ.ย. 2024

ความคิดเห็น • 82

  • @ul_gru
    @ul_gru ปีที่แล้ว +37

    как же вы шикарно объясняете. надо продвинуть это видео в топы🌸

  • @НатальяАлфёрова-и6т
    @НатальяАлфёрова-и6т 2 ปีที่แล้ว +15

    Спасибо большое за понятное и доступное объяснение!

  • @wiseplat
    @wiseplat 9 หลายเดือนก่อน +1

    Отличное видео! Спасибо!

  • @ІринаМиколаївнаАндрієнко
    @ІринаМиколаївнаАндрієнко 11 หลายเดือนก่อน +4

    Дякую, дуже добре пояснюєте.

  • @daniilpatrushev202
    @daniilpatrushev202 ปีที่แล้ว +3

    От динозавриков ИжГТУ передаю привет. Очень приятно видеть свой вуз в данном месте)

  • @zarasoft29
    @zarasoft29 ปีที่แล้ว +2

    Спасибо большое за видео. Учусь за границей и вы мне помог с понятием => Spline Interpolation . В этом видео всё чётко объяснено. Лайк и + подписка

  • @sasory-san
    @sasory-san ปีที่แล้ว +2

    Спасибо! Очень понятно объяснили. В книге по ВМ было все коротко и скупо про преобразование формул. Вы очень помогли 🤗

    • @learningmeansdoing
      @learningmeansdoing  ปีที่แล้ว

      Благодарю за хороший отзыв о моей работе!

  • @lubitel3495
    @lubitel3495 5 หลายเดือนก่อน

    я вас люблю вы лучший!

  • @evelinabeck
    @evelinabeck ปีที่แล้ว +1

    Спасибо за Ваш труд!

  • @tepatepskei7910
    @tepatepskei7910 2 ปีที่แล้ว +5

    Очень доступно.

  • @Donna_Rosa_de_Alvadorez
    @Donna_Rosa_de_Alvadorez 8 วันที่ผ่านมา

    Доступнее не расскажешь. Благодарствуйте. Все по полочкам.

  • @OUR_RED_ARMY
    @OUR_RED_ARMY 3 หลายเดือนก่อน

    Было понятно, кратко и ёмко!
    Спасибо вам за ваш труд)
    Интересно, есть ли способы построения гладкой кривой по точкам, когда их число очень большое - ну, например, больше сотни. Потому что с таким подходом решение полуится в практическом смысле плохо опддающимся решению.

    • @learningmeansdoing
      @learningmeansdoing  3 หลายเดือนก่อน

      Это хороший вопрос. Когда-нибудь руки дойдут, продолжу тему сплайнов.

  • @osennayti4134
    @osennayti4134 ปีที่แล้ว

    спасибо! очень наглядно!

  • @ячсм-з5ы
    @ячсм-з5ы ปีที่แล้ว +3

    выручил перед зачетом, хоть где-то нашел понятные итоговые системы

  • @Anthology_VHS
    @Anthology_VHS ปีที่แล้ว +1

    А есть возможность от вас получить готовый файл с вашими расчетами? Я все повторил также, при других значениях получаются большие разрывы. Могу показать свой файл, если есть желание. Заранее спасибо!

    • @learningmeansdoing
      @learningmeansdoing  ปีที่แล้ว

      Разрывы связаны с тем, что не соблюдены условия по прохождению сплайнов через узловые точки. Скорее всего ошибка где-то там.

  • @evgenijnovikov1839
    @evgenijnovikov1839 ปีที่แล้ว +2

    Очень круто, поймёт даже школьник. А как быть если сплайн меняет направление, т.е. если установить точку 4 в (3,4)? я пытаюсь прочесть dxf и понять что же там за форма, и думаю что такие ситуации меня ждут сплошь и рядом.

    • @learningmeansdoing
      @learningmeansdoing  ปีที่แล้ว +1

      Если я вас правильно понял, то вы говорите о параметрических сплайнах, где Х и Y зависят от третьего параметра t. В этом случае сплайн может иметь петли, как угодно проходить на плоскости.

  • @МаксимПеченкин-н5х
    @МаксимПеченкин-н5х 5 หลายเดือนก่อน

    Добрый день!
    Огромное спасибо за видео, действительно все понятно разъяснено.
    Подскажите пожалуйста, а как изменить методику сплайнирования, если мне нужно получить не проходящий через все точки кривой сплайн, а сглаживающий эту кривую сплайн?

    • @learningmeansdoing
      @learningmeansdoing  5 หลายเดือนก่อน

      Здравствуйте. Спасибо! Как вариант, отметить на кривой точки и через них построить сплайны. Чем больше точек, тем точнее интерполяция

  • @drealxd
    @drealxd ปีที่แล้ว +1

    Спасибо, всё очень понятно!
    Вопрос - а как проявляет себя этот способ при большом объеме данных? Когда у нас сотня, или тысяча исходных точек

    • @learningmeansdoing
      @learningmeansdoing  ปีที่แล้ว +1

      Спасибо за отзыв! С добавлением одной новой точки появляется один новый сплайн, то есть 4 новых параметра. СЛАУ будет иметь 4*(n-1) уравнений, где n-это число точек, то есть О(n) уравнений. Сложность по памяти составит в худшем случае О(n^2), так как нужно хранить матрицу коэффициентов СЛАУ. Если СЛАУ решать например, методом Гаусса, то вычислительная сложность составит O(n^3). Получается, по памяти O(n^2), по вычислениям O(n^3). Так будет этот метод реагировать на учеличение количества точек. Надеюсь, не слишком сложно объяснил.

    • @АндрейКуликов-в3ю
      @АндрейКуликов-в3ю 10 หลายเดือนก่อน

      @@learningmeansdoing "увеличение"

    • @АндрейКуликов-в3ю
      @АндрейКуликов-в3ю 9 หลายเดือนก่อน

      @@learningmeansdoing Нажмите на три точки справа от комментария и исправьте.

  • @Attys192
    @Attys192 5 หลายเดือนก่อน

    Могут ли в обратной матрице получится нулевые значения?

    • @learningmeansdoing
      @learningmeansdoing  5 หลายเดือนก่อน +1

      Не исследовал эту тему. В моем примере нулей не было, но, думаю, что появиться они могут. Если например, оставить в системе уравнений то уравнение, где только один коэффициент, то в обратной матрице будут нули.

  • @og6739
    @og6739 7 หลายเดือนก่อน

    спасибо ! а если прогонкой сделать?

    • @learningmeansdoing
      @learningmeansdoing  7 หลายเดือนก่อน +1

      Прогонкой решают трехдиагональные матрицы. Не уверен, что тут получится. Хотя может быть, надо пробовать

  • @ryzh6544
    @ryzh6544 ปีที่แล้ว

    мегахарош

  • @ОлегВоропаев-к6ъ
    @ОлегВоропаев-к6ъ 7 หลายเดือนก่อน

    Добрый день! У меня есть растущая функция выглядит как ступенька, т.е. немного порастёт, потом горизонтальная и опять рост и т.д., чем такую функцию лучше аппроксимировать? и Как более точно рассчитывать смену направления у такой функции?

    • @learningmeansdoing
      @learningmeansdoing  7 หลายเดือนก่อน +1

      Здравствуйте. Может как вариант использовать кусочно-линейную функцию. Она вроде подходит под то, что вы описали.

    • @ОлегВоропаев-к6ъ
      @ОлегВоропаев-к6ъ 7 หลายเดือนก่อน

      @@learningmeansdoing Спасибо, а как определять разворот такой функции?

    • @learningmeansdoing
      @learningmeansdoing  7 หลายเดือนก่อน

      @@ОлегВоропаев-к6ъ Я бы сравнил значения Y в трех соседних точках и по их изменению сделал вывод, что кривая переламывается. Я надеюсь, я правильно понял ваш вопрос.

    • @ОлегВоропаев-к6ъ
      @ОлегВоропаев-к6ъ 7 หลายเดือนก่อน

      @@learningmeansdoing А Вы где-нибудь встречали полный сборник функций в Excel: линейные, ступенчатые, экспоненциальные, регрессии и ещё бог знает какие? Чтобы выглядело как Add on

    • @ОлегВоропаев-к6ъ
      @ОлегВоропаев-к6ъ 7 หลายเดือนก่อน

      @@learningmeansdoing А ничего страшного не будет, если кусочно-линейную функцию просто заменить на линейную, не сильные погрешности будут при аппроксимации?

  • @romanenkoonline
    @romanenkoonline ปีที่แล้ว

    Скажите, пожалуйста, как эту информацию можно применить при расчёте цвета каждого пикселя при уменьшении масштаба изображения?

    • @learningmeansdoing
      @learningmeansdoing  ปีที่แล้ว

      Не знаю правильно ли я вас понял. Может быть вы имели ввиду цифровой зум изображения? В этом случае яркость недостающих пикселей может быть рассчитана по полученным формулам кубической интероляции. Если же вы имели ввиду уменьшение разрешения изображения, то тут пожалуй кубическая интерполяция не понадобится.

    • @romanenkoonline
      @romanenkoonline ปีที่แล้ว

      @@learningmeansdoing я имел в виду именно уменьшение разрешения изображения. Другие, более простые алгоритмы, сильно ухудшают качество, насколько мне известно, бикубическая интерполяция даёт наилучший результат с адекватными затратами вычислительных ресурсов. Или бикубическая это ещё один алгоритм?

    • @learningmeansdoing
      @learningmeansdoing  ปีที่แล้ว

      Бикубическую интерполяцию не очень хорошо знаю, но кажется это не тоже самое, что сплайн-интерполяция. Там вроде бы берутся для заданной точки 4 ближайших соседа по одной оси и 4 соседа по другой оси. Итого задействуется 16 точек для определения яркости данного пикселя. Сначала интерполируется вдоль одной оси по методу Ньютона, затем по другой оси тем же методом. У меня есть видео про билинейную интерполяцию. Там проще конечно, но этот принцип расширяется на биквадратичную и бикубическую интерполяцию.

    • @Ihor_Semenenko
      @Ihor_Semenenko 11 หลายเดือนก่อน +1

      ЕЕ и применяют, только для случай пространственной задачи - бикубическая интерполяция. Тут выбор спопоба зависит от типа изображения - насколько оно "гладкое" и однородное + завист от выбора цветовой модели. Если вас плавнуе градиенты, то можно споконо применять, если же есть рекие границы - возможны артефакты (на 17:30 на графике на интервале (4;5) видно что сплайн становится ниже заданной точки, что в случае изображение при наличии кострастных границ може тпривести к искажению цветопередачи ипоявлению артефактов - в виде ареолов).
      Под конкретное изображение стоит оычно свой метод нужно подбирать - если вас интеересует качество.

  • @maxscripten_ua9236
    @maxscripten_ua9236 2 ปีที่แล้ว

    Спасибо. А как промежуточные игреки считаются? По синусу? Я нуб

    • @learningmeansdoing
      @learningmeansdoing  2 ปีที่แล้ว +4

      Промежуточные точки считаются по формулам кубических сплайнов. Эти формулы показаны в начале видео и для них определяются коэффициенты a,b,c,d.

  • @sikvllz8928
    @sikvllz8928 10 หลายเดือนก่อน

    Можно ссылку на данный exel файл

  • @axborottexnologiyalarikafe5421
    @axborottexnologiyalarikafe5421 9 หลายเดือนก่อน

    Спасибо за ролик! Можете отправить мне excel файл

  • @sersalikov
    @sersalikov 9 หลายเดือนก่อน

    Скажите, а как решить задачу построения сплайна, если последовательность точек, через которые мы хотим провести интерполяционную линию, содержит такие пары близлежащих точек, у которых координата x равна? Ведь соединить две точки, имеющие одинаковую x-координату, отрезком кубической кривой невозможно

    • @learningmeansdoing
      @learningmeansdoing  9 หลายเดือนก่อน

      В этом случае я бы ввел параметрическую зависимость x(t), y(t), где t например номер точки или номер момента времени, если это задача о траектории движения точки

    • @sersalikov
      @sersalikov 9 หลายเดือนก่อน

      @@learningmeansdoing Я уже думал об этом. Сделать два сплайна отдельно для оси x и оси y. Но тогда нам понадобится вводить переменную t, соответствующую длине кривой. Но как мне эту t узнать и определить? И, кроме того, точки могут быть расположены не с равными интервалами вдоль t.

    • @learningmeansdoing
      @learningmeansdoing  9 หลายเดือนก่อน

      По сути если переменная t не известна, то любой наш выбор будет взят с потолка, это верно. Но с другой стороны сами сплайны допускают свободу выбора. И выбор значений t можно рассматривать как ещё один параметр. В самом простом случае t=1,2,3... Скорее всего есть лучшие варианты, просто я с такими задачами не сталкивался особо.

    • @sersalikov
      @sersalikov 9 หลายเดือนก่อน

      @@learningmeansdoing Если я правильно понял, то построение кубического сплайна на плоскости x,y для замкнутого контура невозможно. Применяя технику, описанную вами в этом видео, мы не сможем решить систему уравнений. Однако если мы набросаем точек на плоскость в одном из многочисленных CAD-редакторов, программа без труда нарисует произвольную замкнутую кривую по этим точкам, даже если это будет спираль или самопересекающаяся линия.
      Как же эту задачу решают эти программы?

    • @learningmeansdoing
      @learningmeansdoing  9 หลายเดือนก่อน

      Хороший вопрос. На данный момент не могу на него ответить. Очевидно одно - эта задача решена. Надо как-нибудь будет разобраться с этим вопросом.

  • @Anthology_VHS
    @Anthology_VHS ปีที่แล้ว

    ОШИБКУ выдает в формуле (время: 10:10).
    Формула: b0+2c0(2-1)+3d0(2-1)^2-b1=0
    Согласно значениям, которые находятся в дальнейшем, данная формула не равна нулю (0).
    Выдает результат: -3,053113318Е-16 = 0

    • @learningmeansdoing
      @learningmeansdoing  ปีที่แล้ว +1

      Вот это число, что вы написали, это -3 умножить на 10 в степени -16. То есть очень маленькое число, почти равное нулю. Появляются такие числа из-за того, что программа считает не с абсолютной точностью.

    • @Anthology_VHS
      @Anthology_VHS ปีที่แล้ว

      @@learningmeansdoing существует команда для сплайн в экселе последней версии? Как эта команда может из себя выглядеть?

    • @learningmeansdoing
      @learningmeansdoing  ปีที่แล้ว

      Не слышал про такую команду, не могу сказать.

    • @НиккоНАГ
      @НиккоНАГ ปีที่แล้ว

      @@learningmeansdoing А если мне потребуется построить через большее кол-во точек сплайн, насколько изменяться уравнения? Или только появятся новые переменные, скажем b4, d5 и т.д.?

    • @learningmeansdoing
      @learningmeansdoing  ปีที่แล้ว

      Когда добавляется ещё одна точка, то добавляется ещё один сплайн со своими коэффициентами a,b,c,d.

  • @oleksiikudryk368
    @oleksiikudryk368 2 ปีที่แล้ว

    в матрице коэффициентов СЛАУ перепутанные 5 и 6 строчки

    • @learningmeansdoing
      @learningmeansdoing  2 ปีที่แล้ว +7

      Да, вы правы, действительно перепутал уравнения местами. К счастью, на решение это не влияет, так как в системе уравнений можно переставлять уравнения местами. Благодарю за внимательность.

    • @getawayunclejohn7107
      @getawayunclejohn7107 ปีที่แล้ว

      💀💀

  • @ЕвгенийКальсин-п1ж
    @ЕвгенийКальсин-п1ж ปีที่แล้ว

    Кайф вообще. Только ничего не понятно.

    • @learningmeansdoing
      @learningmeansdoing  ปีที่แล้ว +2

      1. Радостно. 2. Грустно.
      Может расскажете, что именно осталось непонятным?

    • @БахытбайМахсетбайулыАбыллаев
      @БахытбайМахсетбайулыАбыллаев ปีที่แล้ว

      @@learningmeansdoing Здравствуйте! У меня есть набор точек x и y. Нарисую график с этими значениями. Получается неявная функция. Мне надо найти точки, которые dy/dх = 0.
      А решить СЛАУ не так легко, так как значения х и у не целые.

  • @Ihor_Semenenko
    @Ihor_Semenenko 11 หลายเดือนก่อน

    Аргх, какая еще палка! Стержень!
    Дананую линию можно полочить руками: нужно взять тонкую и гибкую (желательно стльную) линейку и на бумаге руками изогнуть ее так, чтоб она прошла через все нужнгые точки, потом аккурантно провести вдель нее линию. Такая линейка называется архитектурным сплайном, и их скорее всего уже не изготавливают, за ненадобностью.
    А сами сплайны в курсе сопромата ка раз и испрользуются, при расчете деформаций стержня (!) при изгибе - метод начальных параметров. Очень интересна его форма и реализация, она немного отличается, от классического сплайна.

  • @alexanderivanov899
    @alexanderivanov899 20 วันที่ผ่านมา

    кривизна задается уравнениями конечной точки

  • @АндрейРощин-х6л
    @АндрейРощин-х6л 9 หลายเดือนก่อน +1

    Все это, конечно, хорошо, но если график состоит не из четырех точек, а из пары тысяч? Будем решать систему из 6 тысяч уравнений? Короче нужно было бы еще объяснить общий случай, когда точек не 4, а N

    • @learningmeansdoing
      @learningmeansdoing  9 หลายเดือนก่อน

      По возможности рассмотрю такой вариант. Спасибо за подсказку!

  • @x_sraytracings_x
    @x_sraytracings_x 6 หลายเดือนก่อน

    Я походу умственно отсталый раз уж не понял тему, которую на видео "наглядно", из слов некоторых комментаторов, разжевали.

    • @learningmeansdoing
      @learningmeansdoing  6 หลายเดือนก่อน

      Может что-то конкретное осталось неясным? По уравнениям? По условиям?

  • @romaboy6717
    @romaboy6717 ปีที่แล้ว

    чувак слабо курит тему. это всё мусор

  • @kolas2482
    @kolas2482 9 หลายเดือนก่อน

    когда вы задаёте два дополнительных уравнения, там разве не s3" Должно быть?

    • @learningmeansdoing
      @learningmeansdoing  9 หลายเดือนก่อน

      Сплайны обозначаются S0, S1, S2. Индекс соответствует номеру начальной точки сплайна. Поэтому в крайней правой точке S2"=0.

  • @zlowzz
    @zlowzz 11 หลายเดือนก่อน

    Можно ссылку на данный exel файл