Dlinyj (dlinyj) wrote,
Dlinyj
dlinyj

Categories:

Интерполяция сплайнами Акимы.

Иногда втемяшишь себе что-то в голову, и уже ночью снятся формулы и идеи.

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


Страшная лесенка, при масштабировании в 200 раз

В результате мой взгляд упал в интерполяцию. Сейчас с удовольствием (лучше всякой худ. лит-ры) читаю книжку о вычислительной математике, которую я собирался прочитать на новогодние праздники. О кубической интерполяции все мы знаем. Начал гуглить готовые алгоритмы, и наткнулся на отличный пост http://habrahabr.ru/post/130873/ с разбором полётов разных алгоритмов. А от туда на сайтец с программой Akima spline interpolation program.

Берём исходные точки
1
1.5
1.7
2
2.1
2.2
7
7.1
3.2
2
2
2
7
2
2



Без интерполяции, только с линейной интерполяцией (гнуплот сам строит такой) получается следующий график.


График, построенный линейной интерполяцийей

Скармливает точки программе (без переделок), и на выходе получаем


Те же данные, но интерполированные сплайнами Акимы

Алгоритму быть. Теперь осталось выкорчевать процедуры из исходной программы и вставить в свою.
P.S. Любой пост всегда украсит красивый график :))
Tags: Алгоритмы, Инфо, Математика
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 26 comments