Интерполировать произвольное количество точек на двумерной плоскостиC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Интерполировать произвольное количество точек на двумерной плоскости

Сообщение Anonymous »

При наличии матрицы произвольного размера и списка точек произвольной длины, и каждая точка имеет x и y, указывающие местоположение, и значение - как вы можете интерполировать значения во всей матрице?
Например, матрица 3x3 и список точек:

Код: Выделить всё

# x, y, value
points = [(0,0,0), (2,0,0), (0,2,3), (2,1,1.5)]
Матричная двойная интерполяция (Вопросительные знаки обозначают места, где следует выполнить интерполяцию):

Код: Выделить всё

0, ?,   0,
?, ?, 1.5,
3, ?,   ?,
Ожидается после интерполяции:

Код: Выделить всё

0,     0,   0,
1.5, 1.5, 1.5,
3,     3,   3,
Как это можно сделать с помощью C# или C++?
Я попробовал библиотеку libInterpolate, но он не поддерживает произвольное количество точек:

Формат данных интерполятора не поддерживается. Контейнеры данных
x, y и z должны иметь одинаковую длину или длина контейнера z
должна быть равна произведению длин контейнеров
x и y. .

Код: Выделить всё

_2D::BilinearInterpolator interp;
vector X = { 0, 2, };
vector Y = { 0, 1, 2, };
vector Z = { 0, 0, 3, 1.5, };
interp.setData(X.begin(), X.end(), Y.begin(), Y.end(), Z.begin(), Z.end());
Я искал в opencv, который содержит множество функций, но не нашел ничего подходящего. Я искал в Math.NET Numerics и там тоже не нашел.
Я знаю, что в scipy.interpolate есть функция Griddata, но это очень медленно, и я не хочу использовать scipy.

Подробнее здесь: https://stackoverflow.com/questions/785 ... a-2d-plane
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Интерполировать произвольное количество точек на двумерной плоскости
    Anonymous » » в форуме C#
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Интерполировать произвольное количество точек на двумерной плоскости
    Anonymous » » в форуме C++
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Найдите вектор плоскости, состоящей из четырех трехмерных точек.
    Anonymous » » в форуме Python
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • Генерировать равномерную сетку точек на плоскости Ra-Dec вокруг заданной цели (Ra,Dec)
    Anonymous » » в форуме Python
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Как найти стороны, а затем углы плоскости облака точек, которая не всегда полностью видна
    Anonymous » » в форуме Python
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C++»