Каков наилучший алгоритм / статья по поиску ближайшей / ближайшей плоскости из набора точек в пространстве? - PullRequest
3 голосов
/ 20 марта 2012

Учитывая облако точек, каков наилучший способ найти ближайшую плоскость, которая достаточно точна, но также достаточно быстра?

Я искал ближайший самолет, но не смог найти никакой связанной информации.

Я хочу использовать это, чтобы привязать их к этой плоскости.

Ответы [ 2 ]

5 голосов
/ 20 марта 2012

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

Вы не первый:

3D-плоскость наименьших квадратов

1 голос
/ 20 марта 2012

Я думаю, вы также можете сделать это, используя анализ основных компонентов:

Вычислите среднее значение ваших очков:

C = (0,0,0);
for each point Ri in your dataset,
  { C += Ri; }
C = C * 1.0 / npoints;

Вычислите ковариационную матрицу ваших очков:

A = zeros(3,3);
for each point Ri in your dataset,
  {
  D = Ri - C;
  A += D*D';  // outer product
  }

Вычислить обратную величину A, A_inv:

  A_inv = inv(A)

Выполнить итерации мощности, многократно применяя A_inv к случайному начальному вектору:

  N = random vector.
  for i=1:20 (or so)
    {
    N = A_inv*N;
    N = normalize(N);
    }

Смещение от начала координат до вашегоПлоскость k = точка (N, C).Уравнение, которое описывает вашу плоскость - это все точки R, такие что k = точка (N, R).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...