Algoritme a alt nivell:
- Partint d'una triangulació (la mateixa en totes les imatges)
- Però amb els vèrtex dels triangles adaptats a les particularitats de cada cara
- L'efecte de morphing, es crea fent una transició de la triangulació d'una imatge a la de la imatge següent, fent alhora una fosa de la imatge de cada triangle
Triangulació de Delaunay:
- Es fa ús d'una llibreria professional de triangulació incremental de Delaunay que vaig traduir a Java d'una implementació en C++ que vaig trobar a internet, l'algorisme del qual el van idear investigadors del tema.
- Funció afegida (perquè la necessitava): opció de revertir la inserció de l'últim vèrtex, cosa que ve como anell al dit per a que l'usuari tingui un vèrtex tentatiu al vuelo, fins que es formalitzi a la triangulació (demo).
- Funció afegida (superinteressant): poder definir el domini inicial amb forma de rectangle, enlloc de amb un triangle (cosa no trivial, almenys amb el meu background!!).
- Funció afegida per a recòrrer els triangles de la triangulació amb el patró de disseny Visitor.
Funcions interesants creades:
- Algebra bàsoca: Transformació de les coordenades d'un punt interior a un triangle, a les coordenades dins d'un altre triangle, coneixent els vèrtex d'ambdos triangles
- Matemàtica bàsica: Recòrrer els pixels d'un triangle, amb el patró de disseny Visitor.
- Opció multi-fil per a crear la seqüència de video.
Amb la versió v1.1, es facilita molt a l'usuari la creació de la triangulació, ja que es pot fer ús d'una llibreria de detecció de cares amb I.A., que s'invoca per API rest a un servidor propi al núvol.
Gràcies a aquesta llibreria, podem partir d'una triangulació amb els 68 vèrtex detectats de cada cara, i podem seguir afegint vèrtex, si ho considerem necessari.