сплайн что это такое

Что такое сплайны, для чего они нужны и как с ними работать

Вот основные формы сплайнов, которыми я обычно пользуюсь:

Все сплайны состоят из точек (vertex) и сегментов (segment):

Точки бывают четырех типов:

Чтобы изменить тип точки нужно выделить одну или несколько точек и нажать правую кнопку мыши. В контекстном меню выбрать нужный тип.
В разеделе Modify сплайны имеют несколько вкладок: Rendering, Interpolation, Selection, Soft Selection и Geometry.

Вкладка Rendering:

Вкладка Interpolation:

Вкладка Geometry:

Использование модификатора Shell, на примере создания объемного текста.

Создаем сплайн Text:

В поле Text меняем текст на нужный, изменяем размер (Size). Выбираем и стека модификаторов Shell. Затем задаем нужную степень выдавливания (Inner Amount или Outer Amount)

Модификатор Shell можно применять только к закрытым сплайнам (не имеющим разрывов). Вот пример использование модификатора Shell на сплайны Text, Line, NGon и Star:

Модификатор Sweep.

Сперва создаим любую линию. Я создал Line с прямыми углами (создается с нажатой клавишей Shift)

Далее из списка модификаторов выбираем Sweep и получаем следующий результат:

Модификатор Lathe.

Поздравляю! Вы дошли до самой интересной части урока.
Модификатор Lathe используется для создания объектов имеющих симметрию вращения (это могуть быть кувшины, бокалы, бутылки, колонны, стаканы и много другое).
Все что вам потребуется это нарисовать вертикальную линию в проекции Font и выбирать из списка модификаторов Lathe:

Нам сразу же нужно переместить ось симметрии, для этого нажимаем на плюсик справа от названия модификатора и выбираем Axis. Перемещаем Axis по оси Х :

Теперь проверьте включена ли у вас кнопка Show end result on/off toggle, которая находится под списком модификаторов. Включить её нужно для того, что бы видеть эффект всех модификаторов назначенных объекту:

Далее переходим к редактированию вершин (нажимаем на плюс слева от Line и выбираем Vertex), добиваемся желаемого результата. Можете добавлять\удалять точки, менять их тип и т.д.

Модификатор Lathe имеет несколько параметров, вот основные из них:

На этом третий урок окончен. В этот раз видеоурок состоит из двух частей:

Источник

Значение слова «сплайн»

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

Сплайны имеют многочисленные применения как в математической теории, так и в прикладной математике (в частности, в разнообразных вычислительных программах). В частности, сплайны двух переменных интенсивно используются для задания поверхностей в различных системах компьютерного моделирования. Сплайны двух аргументов называют би-сплайнами (например, бикубический сплайн), которые являются двумерными сплайнами, моделирующими поверхности. Их часто путают с B-сплайнами (базисными сплайнами), которые являются одномерными и в линейной комбинации составляют кривые — каркас для «натягивания» поверхностей. Также из базисных сплайнов возможно составить трёхмерную конструкцию для моделирования объёмных тел.

сплайн

1. функция, область определения которой разбита на конечное число отрезков, на каждом из которых сплайн совпадает с некоторым алгебраическим многочленом ◆ Предложены два новых типа мультивейвлетов на основе эрмитовых сплайнов 5-й степени. Шумилов Б.М., Эшаров Э.А., Кудуев А.Ж., Ыманов У.С., «МУЛЬТИВЕЙВЛЕТ ПЯТОЙ СТЕПЕНИ», 2013 г.

Делаем Карту слов лучше вместе

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такоеПривет! Меня зовут Лампобот, я компьютерная программа, которая помогает делать Карту слов. Я отлично умею считать, но пока плохо понимаю, как устроен ваш мир. Помоги мне разобраться!

Спасибо! Я стал чуточку лучше понимать мир эмоций.

Вопрос: вонзать — это что-то нейтральное, положительное или отрицательное?

Источник

Сплайн

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

Содержание

Определение и история

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

Теория интерполяции сплайнами и сам термин сплайн ведут свой отсчёт со статьи Айзека Шонберга (англ. Isaac Jacob Schoenberg ) 1946 года. Особенно интенсивное её развитие произошло в 50-70 годы, традиционной прикладной сферой использования интерполяционных сплайнов стали в настоящее время системы автоматизированного проектирования. Однако потенциальные возможности сплайнов значительно шире, чем просто описание некоторых кривых. В реальном мире большое количество физических процессов по самой своей природе являются сплайнами. В механике это деформация гибкой пластины или стержня, зафиксированных в отдельных точках; траектория движения тела, если сила, действующая на него меняется ступенчато (траектория искусственного космического объекта с активными и инерционными отрезками движения, траектория движения самолета при ступенчатой ​​изменении тяги двигателей и изменении профиля крыла и т. д.). В термодинамике это теплообмен в стержне, составленном из фрагментов с различной теплопередачей. В химии — диффузия через слои различных веществ. В электричестве — распространение электромагнитных полей через разнородные среды. То есть, сплайн не надуманная математическая абстракция, а во многих случаях он является решением дифференциальных уравнений, описывающих вполне реальные физические процессы.

Рассмотрение сплайнов начнем с определения алгебраического сплайна []: Функция сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такоеопределенная и непрерывная на отрезке сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое, называется полиномиальным сплайном порядка сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такоес узлами сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое, если на каждом из отрезков сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое, сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такоеявляется алгебраическим полиномом степени, не превышающей сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое, а в каждой из точек сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такоенекоторая производная сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такоеможет иметь разрыв. Если в точке сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такоенепрерывные функции сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое, а производная сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такоев точке сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такоетерпит разрыв, число называют дефектом сплайна. Множество сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такоеназывают сеткой узлов сплайна, а точки сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такоеузлами или точками соприкосновения или склейки сплайна.

Как следует из определения, для построения сплайна, состоящего из сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такоефрагментов, требуется найти такие значения числовых параметров для каждого фрагмента — полинома степени сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое, которые обеспечат непрерывность в узлах как самой функции, так и необходимых производных. Так, всего следует определить сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такоепараметров. С учетом условия интерполяции и непрерывности первых двух производных определение параметров сводится к решению системы с сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такоелинейных уравнений. Как правило, значения коэффициентов для отрезков полиномов непосредственно не рассчитываются.

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

Если значение первой производной в узлах рассчитывать исходя из условия непрерывности второй производной (решая систему с n линейных уравнений), то сплайн будет иметь две непрерывные производные. Такой способ построения сплайна, как и сам сплайн называют глобальным, поскольку при определении каждого из его коэффициентов учитывается все множество узлов интерполяции.

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

Простым условием построения фрагмента локального сплайна является условие равенства полинома на концах отрезков соответствующим значениям интерполируемой функции.

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

Для простейшего сплайна — ломаной — этого условия вполне достаточно. Два коэффициента прямой однозначно определяются из двух уравнений. Такой сплайн является локальным. Для полиномов высших степеней мы должны добавить дополнительные условия таким образом, чтобы общее число уравнений было равно числу коэффициентов полинома. Так, для сплайна 3-й степени таким условием является равенство 1-й производной на концах отрезка некоторому значению, которое определяется для соседних участков одинаковым образом (в формулах (2) через значение производной функции, которой приближают).

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

Система из 4-х уравнений

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

позволяет однозначно определить 4 коэффициента полинома. Для полинома 5-й степени мы должны дополнительно наложить условие равенства 2-й производной на концах отрезка и т. д. Приведенное выше показывает, почему сплайны строят преимущественно из полиномов нечётных степеней (с чётным количеством коэффициентов).

Для полиномов четных степеней при сборке системы (3) остается неопределенной производная в одном из концов отрезка, и условие равенства производных (гладкости кривой) не будет выполняться. Поэтому для полинома 2-й степени невозможно достичь равенства первой производной в точках стыка, а для 4-й степени — второй производной и т. д., исходя из системы уравнений (3). Для построения сплайнов с четными степенями искусственно добавляют дополнительные условия чтобы сформировать систему уравнений, подобную (3). Когда производные полинома сплайна определяются как соответствующие производные интерполируемой функции, то сплайн является эрмитовым.

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

Существуют локальные методы построения сплайнов Бесселя и Акими, B — сплайны []. В основном, когда речь идет о сплайнах, то имеют в виду сплайны, построенные из алгебраических полиномов. Именно к ним относится приведенное выше определение. Именно эти сплайны являются наиболее изученными. Однако сплайн может состоять из фрагментов функций любого класса. В [] рассмотрено построение таких сплайнов и исследуются их свойства. Автор не дает общего определения построенных сплайнов. Очевидно, что для любых классов функций, из которых состоит сплайн, приведенное в начале статьи определение не совсем подходит. Если, например, сплайн состоит из отрезков экспоненты, то понятие дефекта сплайна теряет смысл. Хотя количество непрерывных производных останется важной характеристикой. Построение сплайна, фрагментами которого являются разрывные функции (рациональные функции, функции Паде), несколько выходит за рамки сплайновой идеи, поскольку одним из основных преимуществ сплайнов является их гладкость. Если произвольно расширять такие конструкции, то стираются различия сплайнов от кусковых функций. Другим преимуществом сплайнов является эффективность вычислений. Чрезмерное усложнение фрагментов существенно снижает преимущество сплайнов перед классическими функциями.

Классификация сплайнов

Как отмечалось выше, существует большое количество конструкций, которые называют сплайнами. Поэтому необходимо внести определенную классификацию в это многообразие, имея целью выделить те признаки, которые позволят выбрать сплайны годные для конкретной прикладной задачи.

Вид фрагментов сплайна. То, что сплайн состоит из фрагментов одинакового вида, является одним из ключевых признаков, что отличает его от других кусковых функций.

Самые известные сплайны — состоящие из фрагментов — алгебраических полиномов не выше заданной степени. Как правило, это кубические полиномы, или полиномы нечётных степеней: первой, третьей (кубический), пятой степени. Более высокие степени применяют редко из-за усложнения расчетов и сложностей, описанных в предыдущем разделе. Основным их преимуществом является простота расчетов и анализа. Недостатком является то, что относительно мало реальных физических процессов соответствуют этой зависимости.

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

Тригонометрическими являются сплайны, фрагменты которых описываются тригонометрическими полиномами. Имеют достаточно сложные расчетные выражения. Более пятидесяти различных по виду фрагментов сплайнов описаны в работах Б. А. Попова.

Также существуют рациональные сплайны и сплайны Паде. Их особенностью является возможность разрыва производных на фрагментах, при непрерывности в узлах. М. Ансерме строит фракциональные сплайны, где фрагменты заданы с помощью гамма-функции.

Целесообразность применения фрагментов определенного вида основана на конкретных условиях задачи и ограничениях реализации. Как правило, основное требование — это достижение заданной точности интерполяции при приемлемых затратах времени и ресурсов на реализацию. Удачный выбор фрагментов, который соответствует характеру процесса, позволяет сократить время вычислений и требуемый объём памяти.

Число фрагментов. Очевидно, что минимальное число фрагментов — один. Классическое определение сплайна ограничивает число фрагментов определенным числом на конечном отрезке. Однако можно строить сплайны и с бесконечным числом фрагментов, а реально эти методы и алгоритмы, которые не нуждаются в информации об определенном количестве фрагментов. Представителями этих сплайнов являются кардинальные сплайны, исследованные Шенбергом. Для построения сплайнов с неограниченным числом фрагментов лучше подходят локальные сплайны.

Ширина фрагментов. Следует выделить сплайны с равной шириной фрагментов. Это позволяет значительно упростить расчетные выражения, ускорить работу алгоритмов и снизить затраты на реализацию. Определенного упрощения можно достичь за счёт применения фрагментов с кратной шириной. Существуют сплайны с нулевой шириной фрагментов (Де Бур). Это приводит к кратности узлов и возможности приближать сплайны с неразрывными фрагментами разрывных функций. Расчетные выражения получают в результате предельных переходов. Сплайны могут иметь также фрагменты с бесконечной шириной. Эти фрагменты должны быть крайними. Иногда это позволяет естественно задать краевые условия.

Условия стыковки фрагментов. Еще один важный признак, что отличает сплайны. Когда идет речь о сплайнах, как правило, считают, что фрагменты стыкуются гладко. То есть обеспечивается непрерывность значений и первой производной. Понятие дефекта сплайна связано с числом непрерывных производных, которые имеет функция-фрагмент определенного вида и числом производных, непрерывность которых гарантирована в узлах. Экспонента, синусоида имеют бесконечное число производных. Для них это понятие не имеет смысла. Поэтому удобнее говорить прямо о числе производных, непрерывность которых гарантирована в узлах сплайна. Практически речь идет о непрерывности значений и первой, максимум второй производной. Разрыв второй и высших производных визуально не заметно, поэтому учитывается редко. Понятно, что первая производная в точках стыка может задаваться по-разному. Наиболее распространены два приёма. Значение первой производной выбирается так, чтобы обеспечить непрерывность второй (глобальные кубические сплайны минимального дефекта). Первая производная равняется первой производной интерполируемой функции (возможно приближенно) в эрмитовых сплайнах.

Краевые условия. Если сплайны имеют ограниченное число фрагментов, то, естественно, у них отсутствуют крайние фрагменты слева и справа, поэтому крайние узлы не с чем стыковать. Исключением являются лишь периодические сплайны, которые имеют естественное продолжение. Иногда естественными называют краевые условия с нулевой производной, хотя никаких оснований считать их более естественными, чем другие, нет. Если сплайн имеет фрагменты одинаковой ширины, считают недостающие фрагменты той же ширины. Другой вариант — это считать недостающие фрагменты продлёнными в бесконечность. Преимущество такого подхода в возможности экстраполяции. Можно считать ширину фрагментов нулевой. Расчетные выражения получают предельными переходами. Если взглянуть на краевые условия с точки зрения формирования сплайна из базисных функций, то они сводятся к продолжению соответствующих локальных базисных функций. Ширина соседних фрагментов влияет на их форму. А простое обрезание часто приводит к осцилляции и росту погрешности на краях. Важное значение краевые условия имеют при обработке изображений и в задачах с экстраполяцией.

Дополнительные ограничения. Они чаще всего касаются производных в узлах. Иногда они вытекают из физики процесса. Условия: неотъемлемость значений, равенство моментов, площадей, условия нормирования. Дополнительные условия иногда упрощают анализ свойств сплайнов, но могут серьезно затруднять построение и затраты реализации.

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

Локальные свойства базисных функций. Сплайн можно представить как сумму взвешенных базисных сплайнов. Существенным является ширина этих базисных функций. Так, в глобальных сплайнах базисные сплайны ненулевые на всём отрезке интерполяции. Хотя стоит заметить, что с определенной точностью (достаточной для многих технических расчетов) их можно считать локальными. У локальных сплайнов ширина базисных функций невелика (четыре фрагмента у кубических эрмитовых сплайнов). Это существенно влияет на эффективность расчетов и затраты реализации.

Форма представления. Функции, задающие фрагменты сплайна, как правило, зависят от множества параметров, благодаря которым они меняют свою форму. Значения параметров на каждом из фрагментов индивидуальны. Эти параметры могут задавать конкретный сплайн. Для полиномиальных сплайнов это полиномиальные коэффициенты. Так, сплайн можно представить множеством параметров функций на каждом из фрагментов. Назовем это представление пофрагментным. Такое представление является наглядным, часто имеет явный физический смысл. Но число параметров является чрезмерным. Так, для кубического сплайна необходимо иметь 4 * (r-1) параметров (r — число узлов сплайна). Значительно более компактным является представление сплайна в виде полинома, через базисные сплайн-функции в виде:

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое,

где сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое— базисные сплайн-функции (как правило локальные), сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое— числовые коэффициенты, задающие вес базисных функций при формировании сплайна. Число параметров, задающих сплайн, равно числу узлов сплайна. Между параметрами функции на фрагменте и коэффициентами полинома-сплайна существует зависимость, что позволяет с одними коэффициентами находить другие, хотя формулы могут иметь достаточно сложный вид.

Содержание коэффициентов сплайна. Как отмечалось в предыдущем пункте, содержание параметров сплайна при пофрагментном представлении определяется типом функции. При полиномиальном представлении следует выделить случай, когда коэффициенты имеют тот же физический смысл, что и входные данные. То есть, коэффициенты являются значениями сплайна в узлах. Такую форму называют Лагранжевой, по аналогии с полиномом Лагранжа. Следует заметить, что базисные сплайны этой формы равны единице в центральном узле и нулю во всех остальных.

Особые сплайны. В ряде случаев рассматривают функции, которые находятся близко к границе между сплайнами и обычными функциями, а также сплайнами и кусковыми функциями. К примеру, это сплайны, состоящие из двух фрагментов. Имеют упрощенный вариант построения, но особое внимание следует уделять краевым условиям.

Источник

Теоретические основы сплайн-интерполяции или почему IQ тесты не имеют решения

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое
Доброго времени, Хабр!

Куча времени прошла с того момента, как я написал свою первую статью, и уже почти год с того момента, как пришла в голову идея для второй. В силу многих обстоятельств (в первую очередь – лени и забывчивости), эта идея так и не была реализована ранее, но сейчас я собрался, написал весь этот материал и готов представить его вашему вниманию.

Начну с небольшой вводной. Будучи студентом 4-го, на тот момент, курса бакалавриата, я изучал курс «Компьютерная графика». Много там было разных интересных (и не очень) заданий, но одно прямо особо запало мне в душу: интерполяция кубическими сплайнами с заданными первыми производными на концах интервала. Пользователь должен был задавать значения первых производных, а программа — считать и выводить на экран интерполяционную кривую. Особенность и основная сложность задания заключена в том, что задаются именно первые производные, а не вторые, как в классической постановке сплайн-интерполяции.
Как я ее решал, и к чему оно в итоге пришло, я как раз и изложу в этой статье. И да, если по описанию задачи вы не поняли ни в чем ее смысл, ни в чем сложность, не переживайте, все это я также постараюсь раскрыть. Итак, поехали.

А, нет, погодите один момент. Вот вам два числовых ряда:
a) 2, 4, 6, 8, ?
b) 1, 3, ?, 7, 9

Какие числа должны стоять на месте вопросов и почему? Вы действительно уверены в своем ответе?

Интерполяция

Интерполяция, интерполирование (от лат. inter-polis – «разглаженный, подновлённый, обновлённый; преобразованный») – в вычислительной математике способ нахождения промежуточных значений величины по имеющемуся дискретному набору известных значений. (с) Википедия

Поясню на примерах. Существуют задачи, когда нам требуется узнать, условно, «закон распределения» (взял в кавычки, так как это, вообще говоря, термин из другой области математики) некого параметра по нескольким известным его значениям. Чаще всего речь идет об изменении некого параметра во времени: координаты движущегося тела, температуры объекта, колебания курса валюты, etc. При этом в силу каких-либо обстоятельств у нас не было возможности наблюдать за этим параметром непрерывно, мы могли узнавать его значения лишь в какие-то отдельные моменты времени. Исходными данными в таком случае у нас является множество точек вида value(time), а целью задачи – восстановить кривую, проходящую через эти точки и непрерывно описывающую изменение этого параметра.

Для дальнейших рассуждений возьмем более простой пример. Представим себе, например, лабораторную работу по географии в каком-нибудь 6-ом классе (кстати, у меня когда-то и правда была такая). Необходимо каждые 3 часа измерять температуру воздуха и записывать данные, а потом сдать учителю график изменения температуры от времени суток. Допустим, по результатам измерений у нас получилась вот такая табличка (данные придуманы случайным образом и никак не претендуют на какую-либо правдоподобность):

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

Отобразим полученные данные на графике:

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

Собственно, данные записаны и отражены на графике. Мы вплотную подошли к задаче интерполяции – как по имеющимся точкам восстановить плавную кривую?

Количество условий и степень интерполирующего полинома

Можем ли мы вообще гарантировать, что такая функция, которая соединяет все заданные точки, вообще существует?

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

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

Однако есть и способ задать интерполяционную кривую однозначно. В самом классическом случае, в качестве интерполяционной кривой берут полином:

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

Для того, чтобы провести через имеющиеся точки такой полином единственным образом, необходимо и достаточно, чтобы степень полинома была на 1 меньше, чем количество условий (я специально выделил это слово, потому что в конце этого раздела я вернусь к этой формулировке). Пока что, простоты ради, условием будут являться координаты точки. Говоря человеческим языком, через 2 точки однозначным образом можно провести прямую (полином 1-ой степени), через 3 точки – параболу (полином 2-ой степени) и т.д.

Возвращаясь к нашей задаче с температурой – в ней мы определили 6 точек, значит, для того, чтобы провести полином единственным образом, он должен быть 5-ой степени

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

Интерполирующий полином тогда будет выглядеть так:

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

А сейчас следует сделать важное замечание и пояснить, что я имел ввиду под «условием». Полином можно задать не только координатами точек, через которые он проходит, условиями могут быть любые параметры этого полинома. В простейшем случае это действительно координаты точек. Но в качестве условия можно взять, например, первую производную этого полинома в какой-либо из точек. Вторую производную. Третью производную. В общем, любую возможную производную в любой из точек, в которой этот полином существует. Поясню на примере:
Прямую можно задать однозначно, как я уже говорил, двумя точками:

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

Ту же прямую, с другой стороны, можно определить координатой одной точки и углом наклона альфа к горизонтали:

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

С полиномами более высоких степеней можно использовать и более сложные условия (вторая производная, третья производная, etc.), и каждый такой параметр будет идти в общий счет количества условий, которые однозначным образом определят этот полином. Чтобы не быть голословным, вот еще пример:

Пусть нам заданы такие три условия:

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

Условий три, значит, мы хотим получить полином второй степени:

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

Подставляем сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

Считаем первую производную и считаем сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

Считаем вторую производную и считаем сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

Отсюда получаем, что наш полином выглядит так:

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

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

Вот, по тиху, мы и подбираемся к моей задаче. Полиномиальная интерполяция – не единственно возможный способ интерполяции. Среди всех прочих методов существует метод интерполяции кубическими сплайнами.

Принципиальное отличие идеи сплайн-интерполяции от интерполяции полиномом состоит в том, что полином один, а сплайн состоит из нескольких полиномов, а именно их количество равно количеству инервалов, внутри которых мы производим интерполяцию. В примере с нашей температурой воздуха, в которой у нас определено 6 точек, у нас будет 5 интервалов – соответственно, у нас будут 5 полиномов, каждый на своем интервале.

Каждый из этих полиномов – это полином третьей степени (строго говоря, степени не выше третьей, так как на каком-то из интервалов интерполирующая кривая может становиться квадратичной параболой или даже линейной функцией, но в общем случае это все-таки полином именно третьей степени). Записывая вышесказанное формульно, получим что все наши точки будут соединены некоей кривой сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое, где каждый сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое– это полином третьей степени, а именно:

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

Возвращаясь к рассказанному в предыдущем пункте, для того, чтобы однозначно задать один полином 3-ей степени, необходимо 4 условия. В этой задаче у нас 5 полиномов, то есть, чтобы задать их все, нам нужно суммарно 5∙4=20 условий. И вот как они получаются:

1) Первый полином определен на первой и второй точках – это два условия. Второй полином определен на второй и третьей точках – еще два условия. Третий полином, четвертый, пятый – каждый из них определен на 2-х точках – суммарно это дает 10 условий.

2) Для каждой промежуточной точки из множества (а это 4 точки с временами 12:00, 15:00, 18:00, 21:00) должно выполняться условие, что первые и вторые производные для левого и правого полиномов должны совпадать. Формульно:

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

По два таких условия на каждую из промежуточных точек дает еще 8 условий. Следует добавить, что мы задаем только сам факт равенства, а какое конкретно значение они при этом принимают – это совершенно иная задача и считается она довольно сложно.

3) Остаются два условия, которые пока еще не определены. Это так называемые «граничные условия», от задания которых и зависит, какой именно сплайн получится. Обычно задают вторые производные на концах интервала равными 0:

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

Если сделать так, то мы получим так называемый «естественный сплайн». Для вычисления таких сплайнов написано уже огромное количество библиотек, бери и используй любую.

Отличие моего задания от классической постановки задачи, мои размышления над заданием и само решение

И вот мы подошли к условию моей задачи. Преподаватель придумал такое задание, что задаваться должны первые производные сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такоеи сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такоена левом и правом концах интервала, а программа должна считать интерполирующую кривую. А для такого требования готовых алгоритмов я не нашел…
Я, разумеется, не стану описывать весь твой «творческий» путь от момента, когда я услышал задание, до того, как я его сдал. Расскажу лишь саму идею и покажу ее реализацию.

Сложность задания состоит в том, что, задавая первые производные на концах интервала, да, мы задаем этот сплайн. Теоретически. А вот посчитать его на практике – задача довольно сложная и совершенно неочевидная (желающие могут посмотреть код нахождения естественного сплайна на Вики – ru.wikipedia.org/wiki/Кубический_сплайн – и попробовать его понять хотя бы). Разумеется, я совершенно не хотел провести кучу времени, закопавшись в матан и пытаясь вывести нужные мне формулы. Я хотел более простое и элегантное решение. И я его нашел.
Рассмотрим наш сплайн и возьмем первый из его интервалов. На этом интервале уже заданы 3 условия:

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое— задается пользователем

Для того, чтобы однозначно задать кубический полином на этом интервале, нам не хватает еще лишь одного условия. Но мы можем его просто придумать! Возьмем вторую производную и положим ее равной, например, 0:

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое— ничем не обоснованное предположение

Таким образом, зная эти 4 условия, мы полностью определяем этот полином. Зная все параметры этого полинома, мы можем вычислить значения первой и второй производных на второй точке, и поскольку они совпадают со значениями первой и второй производной для полинома на втором интервале, это приводит к тому, что мы также определяем и второй полином:

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое— вычисляется из сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое— вычисляется из сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

Аналогично мы считаем третий полином, четвертый, пятый и так далее, сколько бы их ни было. То есть, по факту, воссоздаем весь сплайн. Но поскольку мы взяли сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такоесовершенно случайным образом, это приведет к тому, что производная сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое, заданная пользователем на правом конце сплайна, не будет совпадать с производной сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое, которая получилась у нас в ходе таких вычислений. Но получается, что значение производной сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такоена правом конце сплайна – это функция, зависящая от значения второй производной сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такоена левом конце:

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

А поскольку такой сплайн, который бы удовлетворял заданным условиям, гарантированно существует, и существует в единственном экземпляре, это значит, что мы можем рассмотреть разность:

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

и попытаться найти такое значение сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое, при котором сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такоеобращалась бы в 0 – и это будет тем самым правильным значением сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое, которое строит искомый пользователем сплайн:

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

Самое замечательное в моей идее то, что эта зависимость оказалась линейной (вне зависимости от количества точек, через которые мы проводим сплайн. Этот факт доказан теоретическими подсчетами), а значит можно случайным образом взять любые два начальные значения сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такоеи сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое, посчитать сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такоеи сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое, и сразу же посчитать то самое верное значение, которое построит нам искомый сплайн:

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

Итого, мы гарантированно находим искомый сплайн за 3 прогонки таких вычислений.

Немного кода и скриншотов программы

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

Синие отрезки — это первые производные сплайна в соответствующих его точках. Добавил такой вот графический элемент для большей наглядности.

Достоинства и недостатки алгоритма

Признаюсь честно, я не проводил сколь-либо серьезного анализа. По-хорошему стоило бы написать тесты, проверить, как оно работает в разных условиях (мало/много точек интерполяции, равное/произвольное между точками, линейные/квадратные/кубические/тригонометрические/etc. функции и так далее), но я этого не сделал, простите 🙂

Навскидку можно сказать, что сложность алгоритма — O(N), так как, как я уже говорил, вне зависимости от количества точек, достаточно двух прогонов вычислений, чтобы получить правильное значение второй производной на левом конце интервала, и еще одного, чтобы построить сплайн.

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

Так а в чем провинились тесты IQ?

В самом начале статьи я написал два числовых ряда и попросил их продолжить. Это довольно частый вопрос во всяких IQ тестах. В принципе, вопрос как вопрос, но если копнуть чуть глубже, окажется, что он довольно бредовый, потому что при некотором желании можно доказать, что «правильного» ответа на него не имеется.

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

, где в качестве сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такоемы берем само число, а в качестве сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое– порядковый номер этого числа. Какое значение должно быть на месте сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое?

Мысль, к которой я стараюсь плавно подвести – это то, что мы можем подставить абсолютно любое значение. Ведь что по факту проверяют такие задачи? Способность человека найти некое правило, которое связывает все имеющиеся числа, и по этому правилу вывести следующее число в последовательности. Говоря научным языком, здесь стоит задача экстраполяции (задача интерполяции состоит в том, чтобы найти кривую, проходящую через все точки внутри некоторого интервала, а задача экстраполяции – продолжить эту кривую за пределы интервала, «предсказав» таким образом поведение кривой в дальнейшем). Так вот, экстраполяция не имеет однозначного решения. Вообще. Никогда. Если бы было иначе, люди давным-давно бы предсказали прогноз погоды на всю историю человечества вперед, а скачки курса рубля никогда не были бы неожиданностью.

Разумеется, предполагается, что верный ответ в этой задаче все-таки есть и он равен 10, и тогда «закон», связывающий все эти числа, – это сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

Однако возьмем любое другое значение – и мы также сможем найти закон, который бы обосновывал именно его:

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

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

сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое

Я считаю, верный ответ сплайн что это такое. Смотреть фото сплайн что это такое. Смотреть картинку сплайн что это такое. Картинка про сплайн что это такое. Фото сплайн что это такое. Кто сможет оспорить? 🙂

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *