Как работает инструмент Сплайн (Spline)
Инструмент Сплайн (Spline) использует метод интерполяции, который оценивает значения, используя математические функции, которые сводят к минимуму общую кривизну поверхности, что приводит к построению сглаженной поверхности, которая проходит точно через входные точки.
Концептуальный фон
Концептуально, опорные точки вытягиваются на высоту их величины; сплайн сгибает лист резины, который проходит через входные точки при сведении к минимуму общей кривизны поверхности. Он устанавливает математическую функцию на заданное количество ближайших входных точек при прохождении через опорные точки. Этот метод лучше всего подходит для несильно меняющихся поверхностей, например, рельефа, высот грунтовых вод или концентрации загрязняющих веществ.
Основная форма интерполяции по методу Сплайна с минимальной кривизной накладывает на интерполятор два основных условия:
- Поверхность должна проходить точно через точки с данными.
- Поверхность должна обладать минимальной кривизной – накопленная сумма квадратов вторых производных поверхности, взятых для каждой точки поверхности, должна быть минимальной.
Базовая методика минимальной кривизны также рассматривается как интерполяция по методу тонкостенной плиты (thin plate). Она обеспечивает построение сглаженной (непрерывной и дифференцируемой) поверхности, наряду с непрерывными поверхностями первой производной. Быстрые изменения в градиенте или уклоне (первая производная) могут произойти по соседству с опорными точками; следовательно, эта модель не подходит для оценки второй производной (кривизны).
Базовая методика интерполяции может быть применена при использовании нулевого значения для аргумента Вес (Weight) к инструменту Сплайн (Spline) .
Типы сплайна
Используется два метода построения сплайнов: Регулязированный (Regularized) и С натяжением (Tension). Метод Регуляризованный (Regularized) создаёт сглаженную, постепенно меняющуюся поверхность со значениями, которые могут выходить за пределы диапазона опорных точек. Метод С натяжением (Tension) контролирует жёсткость поверхности в соответствии с характером моделируемого явления. Он создаёт менее сглаженную поверхность со значениями, более тесно ограниченными диапазоном опорных данных.
Тип сплайна Регуляризованный (Regularized)
Опция REGULARIZED (регуляризованный) меняет критерии минимизации таким образом, что в эти критерии включается третья производная. Параметр Вес (Weight) задаёт вес, присвоенный третьей производной во время минимизации; этот вес в литературе носит название τ (тау). Высокие значения этого параметра приводят к построению более сглаженной поверхности. Подходят значения от 0 до 0,5. Хорошо подходят значения от 0 до 0.5. Использование опции REGULARIZED обеспечивает построение сглаженной поверхности, наряду со сглаженными поверхностями первой производной. Эта методика полезна в тех случаях, когда необходимо вычислить вторую производную проинтерполированной поверхности.
Тип сплайна С натяжением (Tension)
Опция TENSION модифицирует критерии минимизации таким образом, что в критерии минимизации включаются элементы первой производной. Параметр Вес (Weight) задаёт вес, присвоенный элементам первой производной в процессе минимизации; этот вес в литературе носит название Φ (фи). Нулевое значение веса приводит к использованию базовой Сплайн-интерполяции по методу тонкостенной плиты (thin plate). Использование более высокого значения веса уменьшает жесткость плиты, и в пределе, по мере того, как фи стремится к бесконечности, поверхность приближается по форме к мембране, или резиновым листам, проходящим через опорные точки. Проинтерполированная поверхность является сглаженной. Первые производные непрерывны, но не сглажены.
Дополнительные параметры сплайна
Дальнейший контроль за выходной поверхностью осуществляется с помощью двух дополнительных параметров: вес и число точек.
Параметр Вес (Weight)
Для метода сплайна Регуляризованный (Regularized) параметр Вес (Weight) определяет вес третьих производных поверхности в выражении минимизации кривизны. Чем больше вес, тем более сглажена выходная поверхность. Значения, введенные для этого параметра, должны быть больше или равны нулю. Обычно используются значения 0, 0,001, 0,01, 0,1 и 0,5.
Для метода сплайна С натяжением (Tension) параметр Вес (Weight) определяет вес натяжения. Чем больше вес, тем более грубая выходная поверхность. Введенные значения должны быть больше или равны нулю. Обычно используются значения 0, 1, 5 и 10.
Параметр Количество точек (Number of points)
Параметр Количество точек (Number of points) определяет количество точек, используемых в вычислении каждой интерполируемой ячейки. Чем больше входных точек вы зададите, тем больше на каждую ячейку будут влиять отдалённые точки и тем более сглаженной будет выходная поверхность. Чем больше количество точек, тем больше времени займёт обработка выходного растра.
Уравнение сплайна
Алгоритм, используемый для инструмента Сплайн (Spline) использует следующую формулу для интерполяции поверхности:
- , где:
j = 1, 2, ..., N
N – количество точек.
j – коэффициенты, найденные на основании решения системы линейных уравнений.
rj – это расстояние из точки (x,y) в точку j-ю.
T(x,y) и R(r) определяются по-разному, в зависимости от выбранной опции.
Для вычислительных целей все пространство выходного растра делится на блоки или регионы, равные по размеру. Число регионов по направлениям x и y одинаково, они имеют форму прямоугольника. Число регионов определяется путём деления общего количества точек во входном наборе точек на число, заданное для числа точек. Для менее равномерно распределенных данных регионы могут содержать значительно различающееся количество точек, при этом количество точек является только грубым средним. Если в одном любом из регионов число точек меньше восьми, регион будет расширен до того размера, при котором в него попадут минимум восемь точек.
Для опции REGULARIZED
T(x,y) = a1 + a2x + a3y
- , где:
ai – коэффициенты, полученные в результате решения системы линейных уравнений.
И
- , где:
r – расстояние между искомой и опорной точкой.
– параметр Вес (Weight).
Ko – модифицированная функция Бесселя.
c – константа, равная 0,577215.
Для опции TENSION
T(x,y) = a1
- , где:
a1 – коэффициент, полученный в результате решения системы линейных уравнений.
И
- , где:
r – расстояние между искомой и опорной точкой.
2 – параметр Вес (Weight).
Ko – модифицированная функция Бесселя.
c – константа, равная 0,577215.
Региональная обработка выходных данных
Для вычислительных целей все пространство выходного растра делится на блоки или регионы, равные по размеру. Число регионов по направлениям x и y одинаково, они имеют форму прямоугольника. Число регионов определяется путём деления общего количества точек во входном наборе точек на число, заданное для числа точек. Для менее равномерно распределенных данных регионы могут содержать значительно различающееся количество точек, при этом количество точек является только грубым средним. Если в одном любом из регионов число точек меньше восьми, регион будет расширен до того размера, при котором в него попадут минимум восемь точек.
Литература
Franke, R. 1982. Сглаженная интерполяция дискретных данных локальными сплайнами. Журнал "Computer and Mathematics with Appllications". Vol. 8. No. 4. pp. 273–281. Great Britain.
Mitas, L., H. Mitasova. 1988. Вариационный подход к проблеме интерполяции. Журнал "Computer and Mathematics with Appllications". Vol. 16. No. 12. pp. 983–992. Great Britain.