¿Pregunta sobre la implementación de las curvas de Bezier?

He leído algunos tutoriales para bezier curve como estehttp://www.codeproject.com/KB/recipes/BezirCurves.aspx.

La idea básica para crear una curva bezier es usar algunos puntos de control y decidir cuántos puntos nuevos se deben crear. Y luego interpolar esos nuevos puntos.

Aquí está la pregunta:

Supongamos que tengo 1000 puntos y me gustaría interpolar 2000 puntos más. El número de puntos de control que quiero usar es 5. El parámetro t está en el rango de [0, 1].

Da puntos P0, P1, P2, P3, P4, P5, P6, ... P1000. Puedo usar P0-P4 para generar nuevos puntos, entonces, ¿qué sigue? usa P5-P9 para generar nuevos puntos ??? Puedo ver inmediatamente que hay una transformación repentina entre P4 y P5.

¿Cómo puedo resolver este problema?

Gracias

//////////////////////////////////////////////////////////////////////////////////////////////////////////// /// Hola Stargazer712,

Entiendo sus comentarios hasta que llegue al método de implementación.

Supongamos que tenemos los siguientes puntos:

A1->A2->A3->A4->A5->A6->A7->A8 initial points

Dijiste que necesitamos agregar un nuevo punto en el punto medio de cada otro par.

Mi pregunta es cuál es el orden del nuevo punto.

Usemos esta anotación (A1 + A3) / 2 == A12

Ahora se generan nuevos puntos

A13 A24 A35 A46 A57 A68 (this is what you mean "every other pair"?

¿Dónde debo insertar esos puntos en la lista original?

El contorno en el que estoy trabajando se extrae de la imagen binaria. El contorno generado tiene forma de zig-zag. Después de aplicar este método suave, su forma no mejora demasiado. Creo que la razón principal es que los vecinos están cerca el uno del otro y hacen que la interpolación no sea tan útil.

Gracias

//////////////////////////////////////////////////////////////////////////////////////////////////////////// //

Respuestas a la pregunta(1)

Su respuesta a la pregunta