etereaetereaaboutcontactworkstrainingresourceseterealinksmoreetereashop
Home > Training > Técnicas edición imágenes > Corrección de la distorsión esférica: polar / rectangular
Etérea Workshops Banner
Por favor: no hagas un copiar-pegar de este material en tu página, weblog o foro sin mi permiso. En su lugar puedes incluir un link a esta página.
1. Curvas de ajuste para controlar elevaciones
2. El negro no es la mejor opción para oscurecer
3. Aplicaciones y curiosidades del filtro Nubes (Clouds)
4. Crear una buena textura de repetición
  5. Corrección de la distorsión esférica: polar / rectangular
6. Control de capas por multi-máscaras
7. La importancia del anti-aliasing
8. Checkgrids, checkgrids y más checkgrids

Corrección de la distorsión esférica: polar / rectangular

Si aplicamos una textura a una bola utilizando una proyección esférica veremos cómo esa imagen se distorsiona en los polos.

Esfera con distorsion   Esfera con coordenadsa
Aquí vemos cómo en el polo norte de la esfera se concentra el punto de distorsión máxima (lo mismo ocurre en el sur). Si no miramos directamente a los polos podríamos ignorarlo, claro.   Si pensamos en la estructura de la propia esfera y en cómo la imagen debe envolverla para cubrirla, comprenderemos que es totalmente lógico que esto ocurra.

Existen varias maneras de resolver este problema. Hay una muy sencilla consistente en crear una segunda capa de texturizado planar, proyectado desde arriba, con la misma textura que estamos aplicando en la primera capa esférica, pero enmascarada con un clipmap circular difuso (una máscara muy similar a la que se ve en la ilustración 02, justo aquí debajo.

Pero existe un procedimiento —desde luego bastante más complejo— que se viene utilizando desde los orígenes del 3D. Tengo entendido que éste método fue desarrollado por John Knoll, uno de los creadores originales del programa Photoshop junto a su hermano Thomas (al que siempre veréis en primer lugar en los créditos de la aplicación). Parece que al poco tiempo John ingresó en la ILM y ya nunca ha dejado esta empresa, siendo uno de los principales responsables técnicos de muchas de las mejores escenas de efectos especiales de las películas de Hollywood.

Bueno, al grano. Aunque éste método suene complicado a primera vista, una vez que le cojes el tranquillo resulta muy útil, porque te permite el texturizado con una sóla imagen, sin necesidad de usar dos capas como en la anterior técnica. Básicamente lo que tenemos que hacer es introducir una distorsión en la imagen para que luego, en nuestro programa 3D, cuando la proyectemos en modo esférico quede como nosotros queríamos. En pocas palabras: hay que introducir una pre-distorsión que contrarreste la distorsión polar final.

Vamos a verlo paso a paso:

Textura de partida Mascara Capa enmascarada

01.
Aquí tenemos nuestra textura de partida. Una imagen perfectamente cuadrada. Son convenientes dos cosas:

— Que tenga un tamaño mayor que el que realmente necesitaremos al final (si puede ser el doble, por lo menos). Luego veremos por qué.

— Que esté preparada para repetirse horizontalmente. Con este cuadrado no vamos a envolver la totalidad de la bola: cubriremos sólo 180º de los 360º que tiene la esfera, o sea que deberá estar repetida dos veces. Para envolver totalmente una esfera necesitaríamos lo que se llama una “imagen equirectangular”, de proporción 2x1.

 

02.
Por un lado creamos un canal nuevo negro, dibujamos un círculo blanco con un diámetro aproximadamente 1/3 de la anchura del documento y lo desenfocamos. Que os quede más o menos como en la figura, aunque casi es preferible que lo desenfoquéis menos. No es excesivamente importante cómo os quede ahora porque lo podréis modificar a posteriori.

Existe un método para calcular, de un modo digamos más “científico”, las proporciones exactas y el gradiente de difusión de éste círculo. Pero no vamos a entrar aquí en ello. Quizá en otro tutorial hablaremos de la creación de gradientes especiales.

 

03.
Duplicamos la capa base que tenemos en 01. Y a esta segunda capa le añadimos una máscara de capa usando el contenido del canal definido en 02 (cargamos selección y creamos máscara de capa).

Tendremos una capa flotante con el contenido de 01 enmascarado.

Es importante que hagamos a su vez una segunda copia de esta capa 03.

Rectangular a polar Textura polar Textura polar corregida
04.
Olvidamos por un momento lo conseguido en 03 y volvemos sobre 01. Con todo seleccionado le aplicamos el filtro Coordenadas Polares, sí, ese que creíais que no servía para nada. Le indicamos que queremos hacer una conversión de rectangular a polar.
 

05.
Os quedará algo parecido a lo que tenemos aquí. ¿Y qué es ésto? Hemos aplicado un cambio de coordenadas, pasando de un sistema cartesiano (rectangular) a un sistema polar. Esto lo conocen muy bien los topógrafos.

Si hacéis la prueba con una rejilla test (un checkgrid con colorines) comprenderéis mejor lo que ocurre: lo que estaba en todo el borde inferior del cuadrado ahora ocupa el perímetro de la esfera, y lo que teníamos en el borde superior ahora se ha concentrado en el centro.

 

06.
Si activáis el contenido creado en 03 sobre el de 05 veréis algo como esto. Fijaos cómo desaparece esa distorsión polar que había en el centro de la anterior figura. Esto es algo que se aprecia mucho mejor en unas imágenes que en otras, dependiendo de su estructura.

Bien, pues en este momento podéis actuar sobre la máscara de la capa flotante definida en 03 haciéndola más amplia o menos, o variando la intensidad del desenfoque (por eso conviene aplicar un desenfoque no muy grande en el paso 02, cuando hemos creado realmente la máscara).

Cuando estéis satisfechos acopláis estas dos capas (lo obtenido en 03 con lo de 05) para tenerlo todo sólo en una. Recordad que aún tenemos otra copia del paso 03.

Polar a rectangular Polo norte corregido Giramos 180 grados
07.
Ahora volvemos a aplicar —sobre la imagen 06— el filtro Coordenadas Polares, pero esta vez a la inversa: de polar a rectangular.
 

08.
Y nos saldrá algo como esto. Fijaos que es muy parecido a lo que teníamos originalmente en 01, con la salvedad de que hacia la parte superior se produce una distorsión. Esta es la “contra-distorsión” correspondiente al polo norte.

La manera en como fluye la estructura de la imagen desde su centro horizontal hasta la parte superior, distorsionándose progresivamente, es decisiva para que este método funcione realmente bien. Y todo ello depende fundamentalmente de cómo sea el gradiente que hayamos definido en 02 y —probablemente— modificado durante la generación de 06.

 

09.
Recordemos que hemos solucionado el problema del polo norte. Ahora tendremos que repetir todos los pasos para solucionar el polo sur.

Para ello lo primero que haremos es rotar 180º la capa 08.

Textura polar sur Textura polar corregida Textura final
10.
Aplicamos el filtro Coordenadas Polares, de rectangular a polar.
  11.
Activamos la otra copia que teníamos de 03 y la acoplamos sobre 10.
 

12.
Aplicamos Coordenadas Polares, de polar a rectangular

Y ya lo tenemos. Aunque, si es importante la orientación de la imagen, recordad que tenemos que volver a girarla 180º para deshacer el paso hecho en 09.

Esfera corregida  

Si volvemos a aplicar la textura resultante sobre la esfera veremos que se ha corregido la distorsión polar, y lo que ahora aparece en los polos es el contenido de imagen que teníamos en el paso 03.

Hay que hacer notar varias cosas:

— Este método no vale para cualquier textura. Según cómo sea la estructura o patrón de vuestra imagen os puede quedar horroroso, notandose mucho la progresión entre el contenido de los polos y el resto. En general funciona bastante bien con texturas, digamos “amorfas” (suciedad, manchas aleatorias…). Al ir experimentando veréis dónde funciona y donde no. Por ejemplo: con una cuadrícula de ajedrez no tenéis nada que hacer, y en general con cualquier patrón geométrico.

— La imagen original se va degradando con todo el proceso. ¿Recordáis que habíamos recomendado usar una imagen inicial más grande de lo necesario? Pues es para compensar este hecho. Al final de todo el procedimiento, reducís la imagen al 50% y se disimularán bastante los desperfectos.

— El gradiente circular definido en el paso 03, y que podemos modificar en 06, es decisivo. Trabajando así, a ojo, sólo queda hacer pruebas y acostumbrar al ojo para poder predecir, más o menos, el aspecto que debe tener.


Etérea Workshops Banner
Por favor: no hagas un copiar-pegar de este material en tu página, weblog o foro sin mi permiso. En su lugar puedes incluir un link a esta página.
All images copyright Cristóbal Vila