Estoy desarrollando una aplicación iOS de deformación de imagen con OpenGL ES 2.0.OpenGL ES 2.0 Algoritmos de transformación de vértices
Tengo una buena comprensión de la configuración, la tubería, etc., y ahora me estoy moviendo a lo largo de las matemáticas.
Como mi experiencia con la deformación de imagen es nula, estoy buscando sugerencias de algoritmos.
Actualmente, estoy configurando los vértices iniciales en puntos en forma de cuadrícula, que igualmente dividen la imagen en cuadrados. Luego, coloco un vértice adicional en el medio de cada uno de esos cuadrados. Cuando dibujo los índices, cada cuadrado contiene cuatro triángulos en la forma de una X. Ver la imagen de abajo:
Después de jugar con el photoshop un poco, me di cuenta de Adobe utiliza un algoritmo ligeramente más complicado para su Puppet warp, pero un algoritmo mucho más simplificado para su Warp estándar. ¿Cuál cree que es mejor para mí aplicar aquí/preferencia personal?
En segundo lugar, cuando muevo un vértice, me gustaría aplicar una transformación ponderada a todos los demás vértices para suavizar los bordes (en lugar de lo que tengo a continuación, donde solo se transforma el vértice seleccionado). ¿Qué tipo de algoritmo debería aplicar aquí?
im facine el mismo problema. ¿Conseguiste la solución? ¿Cómo fue eso? Por favor, ayúdenme –
lo siento, pero fue trabajo para un empleador, así que no puedo entregar el código. manipular las estructuras de los vértices dentro del método touchesmoved. cuando manipule los vértices, asígneles un peso en función de su distancia desde ciertos puntos que establece como "anclajes" y desde las paredes de la pantalla. los anclajes podrían colocarse en cualquier lugar; por ejemplo, fijé las pupilas para evitar que los ojos se movieran. si el peso es 0, entonces el vértice no se ve afectado. si el peso es 1, entonces se aplica una transformación completa. nuevo x = (transformación horizontal * peso), nuevo y = (transformación vertical * peso). etc. –
gracias ............. –