HOMOGRAPHY
La transformación de perspectiva que lleva cuatro o más posiciones a otras cuatro o más.
Sintaxis
HOMOGRAPHY(from,to)
| Argumento | Significado |
|---|---|
| from | Una lista de cuatro o más posiciones: {P1,P2,P3,P4}. No puede haber tres de ellas en una misma línea. |
| to | Una lista con el mismo número de posiciones: adónde va cada posición de from, en el mismo orden. |
Resultado
Una transformación (una MATRIX de nueve números): una posición multiplicada por ella es el lugar al que la lleva la perspectiva. Con cuatro posiciones, cada una va exactamente adonde se le indica; con más, la transformación es el mejor ajuste a todas ellas (mínimos cuadrados), de modo que una posición medida con un pequeño error desvía el resultado solo un poco.
Ejemplos
En el dibujo de ejemplo:
| Expresión | Resultado |
|---|---|
[50,100]*HOMOGRAPHY({[0,0],[100,0],[100,100],[0,100]},{[0,0],[200,0],[150,100],[50,100]}) |
[100,100] |
[50,50]*HOMOGRAPHY({[0,0],[100,0],[100,100],[0,100]},{[0,0],[200,0],[150,100],[50,100]}) |
[100,66.666667] |
[3,4]*HOMOGRAPHY({[0,0],[10,0],[10,10],[0,10]},{[5,5],[5,15],[-5,15],[-5,5]}) |
[1,8] |
Las dos primeras llevan un cuadrado a un trapecio, tal como se ve un cuadrado fotografiado en ángulo: el centro del cuadrado va a [100,66.666667], no al centro del trapecio. La tercera es solo un cuarto de vuelta y un desplazamiento, y da esa transformación ordinaria.
Notas
Una homografía es la transformación más general que mantiene rectas las líneas rectas. Es lo que una fotografía o un escaneado tomados en ángulo hacen con un dibujo, y por eso es lo que los corrige: mida cuatro o más marcas en la fotografía (from), indique dónde están realmente (to) y multiplique las posiciones por ella. Las líneas siguen siendo líneas; los círculos y los arcos se convierten en elipses (o, cerca de la línea de fuga de la transformación, en partes de hipérbolas).
Funciona como cualquier otra transformación: INVERSE la deshace, se puede multiplicar por
otras, y una posición sobre la línea que envía al infinito es un error. TRANSFORM mueve
puntos con ella (TRANSFORM [P1..P8],H), y las líneas y polilíneas sobre esos puntos los siguen y se mantienen rectas.
Cuando se transforman los propios elementos con ella, una curva se convierte en su imagen exacta, una
curva NURBS: una curva Bézier o NURBS sobre sus propios puntos transformados, y un círculo, arco o
elipse fijados donde están ahora.
El registro por cámara ajusta una homografía como esta a cada tramo de un trabajo de corte.