jueves, 22 de mayo de 2025

Morphing de curvas paramétricas con R

Con lo fácil que es definir vectorialmente en R una curva paramétrica (aquella que depende de un solo valor de entrada constituyendo una función de R → Rn), podemos animar curvas paramétricas en el plano que se transformen en otras con solo interpolarlas linealmente. La única condición a cumplir es que las curvas origen y destino deben estar formadas exactamente por la misma cantidad de puntos.

Así las coordenadas (x,y) de cada uno de los puntos que definen la curva de partida "viajan" en línea recta y a velocidad constante desde sus posiciones hasta las que definen la curva destino. Aunque se forman transiciones bastante llamativas todo se hace en cuatro líneas de código vectorial (hacer clic para ver vídeo en alta resolución):



El vídeo final parametriccurves.mp4 está en resolución Full HD. Cada curva se define por la friolera de 100.000 puntos (para qué menos si R los procesa a la velocidad del rayo), obteniendo curvas y transiciones entre éstas de altísima calidad. Todo el código gráfico está vectorizado en R base.

La última curva de la animación es la vista en XZ del célebre atractor de Lorenz, una forma fractal tridimensional que calculamos con el paquete deSolve:


~~~

Repositorio con el código R: GitHub.

No hay comentarios:

Publicar un comentario

Por claridad del blog, por favor trata de utilizar una sintaxis lo más correcta posible y no abusar del uso de emoticonos, mayúsculas y similares.