algorithm - semirrecta - tipos de lineas
¿Cómo reducir el número de puntos en una curva mientras se conserva su forma general? (2)
Tengo una lista de puntos que forman una curva, y me gustaría reducir el número de puntos, pero aún así mantener la forma general de la curva.
Básicamente, quiero irme de esto:
A esto:
Por lo tanto, el algoritmo eliminaría los puntos que son redundantes pero preservaría aquellos que realmente definen la forma (como los puntos en la parte inferior de la curva). ¿Hay algún algoritmo conocido para hacer eso? Espero que haya, pero no estoy seguro de qué buscar en Google. Cualquier ayuda sería apreciada.
Considere Douglas–Peucker_algorithm
Hay varios algoritmos para esto.
Probablemente, el más simple es simplemente seguir eliminando el punto cuyo ángulo entre los puntos vecinos es el más cercano a 180 grados, hasta un cierto umbral, o hasta que haya alcanzado un número deseado de puntos.
Si la curva es suave como en su imagen, probablemente obtendrá mejores aproximaciones (o menos puntos si así lo desea) utilizando curvas Bezier, por ejemplo.