5 votos

Definición matemática de las curvas F de Blender

Estoy diseñando un software para generar curvas de animación. Me gustaría que las curvas se basaran en las que se encuentran en Blender 3D, que llaman "F-Curves". Según el página en la Wiki de Blender, son similares a las curvas de Bézier, pero son una función del tiempo en lugar de una función paramétrica. Esto es necesario porque la propiedad que representa la curva no puede tener más de un valor en un momento dado.

Hasta ahora, no he podido encontrar una definición matemática de la curva F. ¿Alguien aquí sabe que están definidas? Las capturas de pantalla de la página wiki podrían dar algunas pistas. ¿Son simplemente curvas de Bézier con un conjunto restringido de entradas? ¿O son algo fundamentalmente diferente?

Edición: Aquí hay una captura de pantalla de la curva. Es importante que los puntos de control tengan la capacidad de influir en la curva más o menos que un punto de control adyacente. Esto es posible con las curvas de Bézier, pero una vez que la influencia de un punto de control es lo suficientemente fuerte, puede obtener bucles en la curva o la curva girará sobre sí misma, ambos de los cuales son indeseables para una F-Curve.

enter image description here

1voto

bubba Puntos 16773

Mi opinión es que son polinomios cúbicos de Hermite. En efecto, están estrechamente relacionados con las curvas de Bézier. A veces se llaman curvas F porque fueron popularizadas en CAD por alguien llamado Jim Ferguson.

La idea es que se puede construir una curva cúbica interpolando valores y pendientes dados en sus dos puntos extremos. En concreto, supongamos que nos dan dos valores $p_0$ y $p_1$ y dos pendientes finales $q_0$ y $q_1$ . Definir una función $f(t)$ por $$ f(t)= (2t^3-3t^2+1)p_0 + (3t^2 - 2t^3)p_1 + (t^3-2t^2+t)q_0 + (t^3-t^2)q_1 $$ Entonces es fácil verificar que $f(0)=p_0$ , $f(1)=p_1$ , $f'(0)=q_0$ y $f'(1)=q_1$ .

Más detalles aquí .

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X