Encontrar la línea central de un conjunto de puntos 3D
21
Tengo un conjunto de puntos 3D. Siguen un patrón curvo con un diámetro bastante constante como se muestra a continuación. ¿Cuál sería el algoritmo para rastrear la línea central aproximada de estos puntos?
Hay un documento llamado "Reconstrucción curvada a partir de puntos no organizados" por In-Kwon Lee que analiza la construcción de líneas / curvas a partir de un conjunto de puntos sin ningún orden mediante la explotación del método de mínimos cuadrados en movimiento . Aunque se centra en aplicaciones 2D, menciona la posibilidad de extender esto a dimensiones más altas. La siguiente imagen está tomada del documento:
En el ' Capítulo 4 - Extensión 3D ', describe cómo el método no puede aplicarse directamente a 3 dimensiones, pero es posible calcular una curva de regresión cuadrática 3D de la siguiente manera:
Agrupando puntos vecinos usando el método de mínimos cuadrados en movimiento
Calcular un plano de regresión K : z = A x + B y + C minimizando una cuadrática
Proyectando esos puntos vecinos al plano K y resolviendo el problema de mínimos cuadrados en movimiento 2D.
¡Espero que esto ayude! (¡Un artículo bastante interesante!)
@whuber - Gracias por revisar. Edité mi publicación ya que casualmente encontré un artículo que puede describir un posible método.
Joseph
2
Buen hallazgo! El EMST es una buena opción sobre la cual basar una solución. (+1) El procedimiento en ese documento podría mejorarse mediante métodos de suavizado robustos como Loess o varias formas de ajustes de spline penalizados.
whuber
3
Esta pregunta ya ha sido respondida. Aquí está la misma pregunta:
Si está buscando herramientas y códigos listos para usar, existen muchos métodos numéricos para resolver este problema, como el enfoque codicioso que se implementa en paquetes R, descargables desde GAM .
Si está buscando algoritmos puros para implementarlo usted mismo, le sugiero que lo solicite en la comunidad matemática ( http://math.stackexchange.com )
Odio rechazar las respuestas, porque siempre aprecio el esfuerzo y la buena voluntad que reflejan, pero me molesta descubrir, después de mirar las tres referencias, que ninguno de ellos responde realmente la pregunta. Bailan alrededor de variaciones simples, como ajustar una línea recta o un elipsoide a los puntos.
whuber
2
ya pasé un día en el primer enlace esperando que pudiera ser útil :)
Respuestas:
Hay un documento llamado "Reconstrucción curvada a partir de puntos no organizados" por In-Kwon Lee que analiza la construcción de líneas / curvas a partir de un conjunto de puntos sin ningún orden mediante la explotación del método de mínimos cuadrados en movimiento . Aunque se centra en aplicaciones 2D, menciona la posibilidad de extender esto a dimensiones más altas. La siguiente imagen está tomada del documento:
En el ' Capítulo 4 - Extensión 3D ', describe cómo el método no puede aplicarse directamente a 3 dimensiones, pero es posible calcular una curva de regresión cuadrática 3D de la siguiente manera:
¡Espero que esto ayude! (¡Un artículo bastante interesante!)
fuente
Esta pregunta ya ha sido respondida. Aquí está la misma pregunta:
conjunto de datos de ajuste de curva 3d
Si está buscando herramientas y códigos listos para usar, existen muchos métodos numéricos para resolver este problema, como el enfoque codicioso que se implementa en paquetes R, descargables desde GAM .
Si está buscando algoritmos puros para implementarlo usted mismo, le sugiero que lo solicite en la comunidad matemática ( http://math.stackexchange.com )
Además, esta página wiki está relacionada con su pregunta ( http://en.wikipedia.org/wiki/Curve_fitting )
fuente
EDITAR: Bueno, parece que es una respuesta incorrecta, ¡la línea de ajuste es recta! =)
fuente