Cuando alguien tiene los 4 puntos de control P0, P1, P2, P3 de 2D cúbica de Bézier, esa persona puede calcular una serie de cientos de puntos a lo largo de la curva que comienzan a partir de P0 en t=0 y final en P3 en t=1 (pero, en general, de los puntos nunca golpear a P1 o P2).
Si esa persona me da una serie de puntos distintos a lo largo de la curva (en orden, comenzando con X0=P0 y terminando con XN=P3), ¿cómo puedo recuperar el original de 4 puntos de control P0...P3 que se utilizó para calcular los distintos puntos?
Si yo sabía que uno de los puntos X1 estaba en t=1/4 y X2 fue en t=3/4, entonces yo podría calcular
P0 = X0
P1 = (1/9)*( -10*X0 + 24*X1 - 8*X2 + 3*X3 )
P2 = (1/9)*( 3*X0 - 8*X1 + 24*X2 - 10*X3 )
P3 = X3
Alternativamente, si yo sabía que uno de los puntos X1 estaba en t=1/3 y X2 fue en t=2/3, entonces yo podría encontrar una curva de Bézier cúbica que pasa a través de los 4 puntos utilizando Juan Burkardt del enfoque:
P0 = X0
P1 = (1/6)*( -5*X0 + 18*X1 - 9*X2 + 2*X3 )
P2 = (1/6)*( 2*X0 - 9*X1 +18*X2 - 5*X3 )
P3 = X3.
Pero aunque sé que t=0 para el primer punto, y t=1 para el último punto, No conozco los valores de t se utiliza para producir cualquiera de los otros puntos intermedios de la curva. Los 4 puntos (sin información) no es exclusiva de definir una curva de Bézier cúbica, como se puede ver arriba, si puedo usar el mismo 4 puntos X0...X3 y conéctelos a los dos diferentes enfoques de arriba, tengo 2 ligeramente diferentes de las curvas de Bézier (el estimado de P1 y P2 de los puntos de control son ligeramente diferentes), ambos de los cuales pasan a través de todos los 4 puntos dados.
Así que cuando no tengo los valores de t, necesito más de 4 puntos a lo largo de la curva de Bezier únicamente para determinar la original de 4 puntos de control.
¿Cómo puedo determinar la original de 4 puntos de control?
Decir que he tenido una serie de aproximadamente 100 puntos igualmente espaciados a lo largo de una curva que sé que vino originalmente de una curva de Bézier -- ¿hay alguna manera más fácil de determinar la original de 4 puntos de control, entonces?
(La motivación: Al imprimir algo en una RepRap, a menudo la pieza fue originalmente diseñado en algún programa de CAD con la superficie lisa splines que, cuando en rodajas, sería de esperar que para dar suaves curvas 2D que más o menos coincide con una curva de Bézier. Sin embargo, la exportación de ese modelo desde el paquete CAD siempre parece producir una facetada archivo STL compuesto en su totalidad de la plana triángulos, para la segmentación se produce en miles de pequeñas líneas rectas con los extremos que se tocan los que la curva de Bézier. Quiero tratar de convertir a los de la serie de pequeñas líneas rectas en una sola curva de Bézier cúbica. Sospecho que el Arduino se puede analizar una línea de texto ASCII que contiene los 4 puntos de control de una sola curva de Bézier cúbica mucho más rápido que se podría analizar un par de cientos de líneas de texto ASCII, cada uno que contiene los 2 extremos de una corta línea recta.)