Estudiar algunos tipos de curvas paramétricas y sus propiedades.
Implemente las curvas cúbicas naturales, de Hermite y Bezier (cúbica y de grado 7), de acuerdo a las indicaciones del sketch adjunto.
Sugerencia: Como las curvas de Hermite y cúbica de Bezier requieren varias secciones, reacomode los puntos de control para que su continuidad sea C1. Ver acá y propiedad 4 de acá.
Represente los boids del FlockOfBoids mediante superficies de spline.
Máximo 3.
Complete la tabla:
Integrante | github nick |
---|---|
Andres Rondon | amrondonp |
Raul Ramirez | raulramirezp |
Juan Carlos Gama | JuanCarlosUNAL |
Se usó la libreria Jblas para facilitar algunas operaciones algebraicas ( como hallar inversa de una matriz nxn ), la puede instalar como se describe en la página web oficial ó si usa linux:
- Ubuntu:
sudo apt-get install jblas
- Fedora:
sudo dnf install jblas
Una vez instalada la librería, procedemos a:
- Acceder a la carpeta del sketchbook y entrar el directorio libraries
- Allí crear los directorios recursivamente así: /org/jblas/library
- Copiar el archivo jblas.jar a ese nuevo directorio.
- Si usa Linux se debería ver algo así:
~/sketchbook/libraries/org/jblas/library/jblas.jar
El archivo jblas.jar se encuentra en en el directorio jblas adjunto.
-
En la implementación del interpolador de Natural Cubic Splines, se tuvo dificultades a la hora de realizar la implementación, dado que en la literatura que se encuentra en internet, la mayoria de definiciones de esta se dan para interpolar una serie de puntos en 2D, e inicialmente se pensó que la generalización a 3D podría resultar más compleja, luego nos dimos cuenta que en realidad cada componente del nuevo punto en el espacio, calculado por el polimonio, era una implementación uni-dimensional.
-
Se pudo observar que la curva obtenida con el algoritmo de Natural Cubic Spline, era más apróximada a la generada por el algoritmo de Hermite.
-
Se entendió como implementar uniones entre grupos de interpolaciones para que produzca una curva suave, creando o modificando los puntos de control del método de interpolación. Incluso es posible cambiar estos puntos de control para que cambiar el aspecto de paso de un grupo de interpolación a otro ya que, no siempre es deseable tener un paso suave.
-
Se tuvieron algunas dificultades al momento de graficar las líneas debido a que se estaban redondeando las coordenadas de estas.
-
Inicialmente, las derivadas del método de Hermite estaban siendo calculadas erroneamente. Lo cual, daba como resultado unas curvas con uniones no suaves en los puntos de interpolación. Afortunadamente, se logró identificar el problema subyacente y corregir adecuadamente la implementación, la cual, entre otras cosas, fue bastante similar a la representación proveida por el profesor.
- Modo de entrega: Haga fork de la plantilla e informe la url del repo en la hoja urls de la plantilla compartida (una sola vez por grupo). Plazo: 29/4/18 a las 24h.