Pregunta

este sitio , que parece tener la información más detallada acerca de Catmull estrías -rom, parece que se necesitan cuatro puntos para crear la spline. Sin embargo, no menciona cómo los puntos P0 y P3 afectan los valores entre P1 y P2.

Otra pregunta que tengo es ¿cómo crear estrías continuas? ¿Sería tan fácil como la definición de la p1 puntos, p2 sea continuo con P4, P5, haciendo p4 = p2 (es decir, asumiendo que tenemos p0, p1, p2, p3, p4, p5, p6, ..., PN ).

Una cuestión más general es ¿cómo se calcule tangentes en estrías Catmull-Rom? ¿Tendría que incluir el enfrentamiento de dos puntos de la spline (decir en 0,01, 0,011) y obtener la tangente sobre la base de Pitágoras, dada la posición de las coordenadas esos valores de entrada dan?

¿Fue útil?

Solución

Tome un vistazo a la ecuación 2 - que describe cómo los puntos de control afectan a la línea. Se puede ver puntos P0 y P3 entran en la ecuación para el trazado de puntos a lo largo de la curva de P1 a P2. También verá que la ecuación da P1 cuando t == 0 y P2 cuando t == 1.

Esta ecuación ejemplo se puede generalizar. Si usted tiene puntos R0, R1, ... RN entonces usted puede trazar los puntos entre RK y RK + 1 utilizando la ecuación 2 con P0 = RK - 1, P1 = RK, P2 = RK + 1 y P3 = RK + 2.

No se puede imprimir desde el R0 a R1 o desde RN - 1 a RN a menos que añadir puntos de control adicionales para sustituir a R - 1 y RN + 1. La idea general es que se puede escoger cualquier puntos que desea agregar a la cabeza y la cola de una secuencia para que tenga todos los parámetros para el cálculo de la spline.

Puede unir dos estrías junto al dejar caer uno de los puntos de control entre ellas. Digamos que tiene R0, R1, ..., RN y S0, S1, ... SM que se pueden unir en R0, R1, ..., RN - 1, S1, S2, ... SM.

Para calcular la tangente en cualquier punto acaba de tomar la derivada de la ecuación 2.

Otros consejos

El artículo de Wikipedia entra en un poco más de profundidad. La forma general de la curva de selección toma como puntos de entrada 2 de control con vectores tangentes asociadas. segmentos adicionales spline entonces se pueden añadir siempre que los vectores tangentes en los puntos de control comunes son iguales, lo que preserva la continuidad C1.

En la forma Catmull-Rom específica, el vector tangente en los puntos intermedios se determina por la ubicación de los puntos de control vecina. Por lo tanto, para crear un spline continua C1 a través de múltiples puntos, es suficiente para suministrar el conjunto de puntos de control y la tangente vectores en el primero y último punto de control. Creo que el comportamiento estándar es utilizar P1 - P0 para el vector tangente en P0 y PN -. PN PN-1 a

De acuerdo con el artículo de Wikipedia, para calcular la tangente en el punto de control Pn, se utiliza esta ecuación:

T(n) = (P(n - 1) + P(n + 1)) / 2

Esto también responde a la primera pregunta. Para un conjunto de puntos de control 4, P1, P2, P3, P4, interpolando valores entre P2 y P3 requiere información forman los 4 puntos de control. P2 y P3 ellos mismos definen los puntos finales a través de los cuales debe pasar el segmento de interpolación. P1 y P3 determinar el vector tangente del segmento de interpolación tendrá en el punto P2. P4 y P2 determinan el vector tangente del segmento tendrá en el punto P3. Los vectores tangentes en los puntos de control P2 y P3 influencia la forma del segmento de interpolación entre ellos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top