Localizando a linha central a partir de um conjunto de pontos 3D

21

Eu tenho um conjunto de pontos 3D. Eles seguem um padrão curvo com um diâmetro bastante constante, como mostrado abaixo. Qual seria o algoritmo para rastrear a linha central aproximada desses pontos?

Pontos 3d

vinayan
fonte
3º grau polinomial, Excel?
FelixIP 15/03
Que tipo de ferramentas você está usando ou você tem disponível? Matlab? Excel? R? Python?
21315 Scott Newson
@ScottNewson - definitivamente não é o Matlab. Estou aberto a qualquer linguagem de programação.
Vinayan
Esta pergunta / resposta poderia ajudá-lo, /programming/29208554/calculate-centerline-in-3d-structure
Matt

Respostas:

7

Existe um artigo chamado "Reconstrução Curva a partir de Pontos Não Organizados", de In-Kwon Lee, que analisa a construção de linhas / curvas a partir de um conjunto de pontos sem nenhuma ordem, explorando o método dos mínimos quadrados em movimento . Embora se concentre em aplicações 2D, menciona a possibilidade de estender isso para dimensões mais altas. A imagem a seguir é tirada do papel:

Imagens tiradas de artigos mencionados

No ' Capítulo 4 - Extensão 3D ', descreve como o método não pode ser aplicado diretamente a três dimensões, mas é possível calcular uma curva de regressão quadrática 3D por:

  • Agrupando pontos vizinhos usando o método dos mínimos quadrados móveis
  • Computando um plano de regressão K : z = A x + B y + C minimizando um quadrático
  • Projetar esses pontos vizinhos no plano K e resolver o problema dos mínimos quadrados em movimento 2D.

Espero que isto ajude! (Um artigo bastante interessante!)

Joseph
fonte
1
@ whuber - Obrigado por verificar. Eu editei meu post porque encontrei por acaso um artigo que pode descrever um possível método.
Joseph
2
Boa descoberta! O EMST é uma boa opção para basear uma solução. (+1) O procedimento nesse documento pode ser aprimorado através de métodos de suavização robustos, como Loess ou várias formas de ajustes estriados penalizados.
whuber
3

Esta pergunta já foi respondida. Aqui está a mesma pergunta:

conjunto de dados 3d de ajuste de curva

Se você está procurando ferramentas e códigos prontos para usar, existem muitos métodos numéricos para resolver esse problema, como a abordagem gananciosa que é implementada nos pacotes R, disponíveis para download no GAM .

Se você estiver procurando algoritmos puros para implementá-lo, sugiro que pergunte na comunidade de matemática ( http://math.stackexchange.com )

Além disso, esta página wiki está relacionada à sua pergunta ( http://en.wikipedia.org/wiki/Curve_fitting )

Farid Cheraghi
fonte
-1

EDIT: Bem, parece que é uma resposta errada, a linha de montagem é reta! =)

Mr. Che
fonte
você pode dar um exemplo?
nickves 18/03/2015
O que quer dizer? URLs estão na resposta.
Che Che
2
Odeio diminuir o voto das respostas, porque sempre aprecio o esforço e a boa vontade que elas refletem, mas fico aborrecido ao descobrir - depois de examinar as três referências - que nenhuma delas realmente responde à pergunta. Eles dançam em torno de variações simples, como encaixar uma linha reta ou um elipsóide nos pontos.
whuber
2
Já passou um dia no primeiro link na esperança de que poderia ser :) útil
Vinayan