2012-09-06 13 views
8

(Seguimiento de this question.)que unen dos curvas de Bézier sin problemas (C2 continua)

Dada una secuencia de curvas de Bézier cúbicas, ¿cómo puedo modificarlos para hacerlos mínimamente unen de una manera continua C2-?

de entrada:

  • curva de P con los puntos de control P0, P1, P2, P3
  • curva de Q con puntos de control Q0, Q1, Q2, Q3
  • si ayuda, se puede asumir que ellos ya son C1 continuos.

restricciones:

  • continuidad C0: P3 = Q0
  • continuidad C1: P2 - P3 = Q0 - Q1
  • continuidad C2: P1 - 2*P2 + P3 = Q0 - 2*Q1 + Q2
  • curvas modificadas lo más cerca posible a las curvas originales P y Q

Respuesta

3

Obteniendo la m las curvas odiadas lo más cerca posible de los originales pueden tener múltiples interpretaciones, pero se podría considerar que mantener los puntos finales y las tangentes lejos de los puntos de unión constantes podría encajar. Entonces los puntos P0, P1, P3 = Q0, Q2, Q3 son constantes.

Podemos cambiar el origen de tal manera que P3 = Q0 = 0, hacer cumplir continuidad C2 a continuación, se puede expresar como:.

P1 - 2*P2 = 2*Q1 + Q2 

Uno puede expresar P2=a*e^i*r y Q1=b*e^i*r en representaciones complejas (manteniendo el mismo ángulo hace respetar continuidad C2 Calcule

(P1 - Q2)/2 = c*e^i*s 

Hacer cumplir la continuidad C2 se debe elegir r=s, y la búsqueda de una combinación de a y b tal que a+b =c. Hay infinitas soluciones, pero se puede usar heurística como cambiar a si es la más pequeña (lo que produce cambios menos sensibles).

Si eso no es suficiente producir pequeñas variaciones, intentar una optimización de dos pasos: en primer lugar cambiar P1 y Q2 para obtener s más cerca de r, a continuación, aplicar los pasos anteriores.

Cuestiones relacionadas