Aquí hay otro intento en el problema, que creo que es un intento mucho mejor.
Dadas las dos secciones transversales C_1
, C_2
Coloque cada C_i
en un marco de referencia global con el sistema de coordenadas (x,y)
de modo que la forma en que están situados relativamente tiene sentido. Divida cada C_i
en una curva superior e inferior U_i
y L_i
. La idea será que desee deformar continuamente la curva U_1
a U_2
y L_1
a L_2
. (Nota se puede extender este método para dividir cada C_i
en m
curvas si lo desea.)
La manera de hacer esto es como sigue. Para cada T_i = U_i, or L_i
muestra n
puntos, y determine el polinomio de interpolación P{T_i}(x)
. Como se señala debidamente a continuación, los polinomios de interpolación son susceptibles de oscilación, especialmente en los puntos extremos. En lugar del polinomio de interpolación, uno puede usar el polinomio de ajuste de mínimos cuadrados que sería mucho más robusto. A continuación, defina la deformación del polinomio P{U_1}(x) = a_0 + a_1 * x + ... + a_n * x^n
-P{U_2}(x) = b_0 + b_1 * x + ... + b_n * x^n
como Q{P{U_1},P{U_2}}(x, t) = (t * a_0 + (1 - t) b_0) + ... + (t * a_n + (1-t) * b_n) * x^n
donde la deformación Q
se define sobre 0<=t<=1
donde t
define momento en el que la deformación es al (es decir, en t=0
estamos en U_2
y en t=1
estamos en U_1
y en cualquier otro t
estamos en alguna deformación continua de los dos.) Lo mismo ocurre con Q{P{L_1},P{L_2}}(x, t)
. Estas dos deformaciones le construyen una representación continua entre las dos secciones transversales que puede muestrear en cualquier t
.
Tenga en cuenta que todo lo que realmente se hace es interpolar linealmente los coeficientes de los polinomios de interpolación de las dos piezas de ambas secciones transversales. Tenga en cuenta también que, al dividir las secciones transversales, probablemente debería poner la restricción de que deben dividirse en los puntos finales que coinciden, de lo contrario, puede tener "agujeros" en su deformación.
Espero que eso esté claro.
edición: se abordó la cuestión de la oscilación en polinomios de interpolación.
¿Las secciones transversales son siempre polígonos convexos? ¿O pueden ser cóncavos? –
Las secciones transversales pueden consistir en áreas convexas y cóncavas. – Gayan
Me gustaría saber si hay soluciones distintas a la dada por High Performance Mark – Gayan