domingo, 1 de marzo de 2026

Corrección de perspectiva preservando la relación de aspecto

Este artículo puede verse como el colofón de tres artículos previos que sentaron sus bases: en 'Transformación trapezoidal de imágenes con R (I). Algoritmo' la herramienta matemática para realizar una corrección geométrica transformando una imagen según la correspondencia entre dos trapezoides arbitrarios, en 'Transformación trapezoidal de imágenes acelerada con C++' aceleramos por un factor 100 el proceso compilándolo en C++ y en 'Calculando la distancia focal con que se hizo una fotografía' implementamos una función que calcula la relación de aspecto (y la distancia focal, aunque no será el dato que usemos esta vez) a partir de una imagen que incluya algún objeto presentando fugas en ambos ejes pero con forma de rectángulo en la escena real.

sábado, 28 de febrero de 2026

Calculando la distancia focal con que se hizo una fotografía

Estás empezando a leer uno de los ejercicios más bonitos, interesantes y gratificantes que haya escrito. Pero a la vez está casi garantizado que será de los más incomprendidos y candidato a pasar desapercibido. Voy a intentar que no sea así para ti y le encuentres el valor que creo que tiene, pero debes poner un poco de tu parte. Lo que vamos a hacer, aún con sus limitaciones y hándicaps, es calcular la distancia focal con que se hizo una fotografía, solo analizando el contenido de la imagen. Si aguantas la breve introducción histórica y geométrica, verás que funciona y es mágico.

sábado, 21 de febrero de 2026

Transformación trapezoidal de imágenes acelerada con C++

Desde que tengo a ChatGPT trabajando en el sótano me gusta revisitar antiguo código R especialmente lento y acelerarlo, ya que se le da maravillosamente bien replicar código en C++ compilable de forma perfecta y sin necesidad de iteraciones. Esta vez le ha tocado el turno al algoritmo de corrección geométrica que vimos en 'Transformación trapezoidal de imágenes con R (I). Algoritmo'.

sábado, 7 de febrero de 2026

Nueva Zelanda en nuestras antípodas con R

Da la geográfica casualidad de que Nueva Zelanda está exactamente en las antípodas de España. Es por tanto el lugar del planeta más alejado de nosotros y viceversa. Como divertimento con pocas pretensiones de un día lluvioso vamos a dibujar en distintas formas los mapas de España y Nueva Zelanda.

domingo, 18 de enero de 2026

Distribuciones normales en la torre de Pisa

Por dura que sea una losa de mármol de la escalera de la torre inclinada de Pisa, no es rival para el calzado de los millones de turistas que año tras año la han ido pisando. En cada escalón se ven dos suaves hendiduras a izquierda y derecha, correspondientes al desgaste producido por el goteo de pies izquierdos y derechos que han pasado por allí.

sábado, 20 de diciembre de 2025

Simulador de 'bus bunching' con R

El bus bunching consiste en el encuentro de dos o más autobuses en una misma línea de transporte público, provocando que lleguen a las paradas de forma cuasisimultánea. Esto da lugar a un deterioro del servicio al alargarse los tiempos medios de espera de los usuarios, propiciando además una ocupación desigual de los vehículos.

lunes, 1 de diciembre de 2025

Perspectiva aérea desde mapa de elevaciones con C++

En 'Perspectiva aérea desde mapa de elevaciones con R' se explicaba el concepto de perspectiva aérea y se proponía un algoritmo, mucho más bonito e interesante que eficiente, para calcular de forma cuasivectorizada en R imágenes en perspectiva aérea a partir de un mapa de elevaciones.

jueves, 20 de noviembre de 2025

Proyecciones marcianas con R

Partiendo de los datos de elevación de Marte combinados de la NASA y la ESA, vamos a hacer transformaciones de una proyección equirectangular a ortográfica de la orografía y hillshade de Marte. Haremos lo propio con un mapa vintage dibujado a mano a principios del siglo XX por el astrónomo Percival Lowell.

sábado, 15 de noviembre de 2025

Mapa de El Hierro con R

Siguiendo el mismo procedimiento que usamos en 'Radiografía de Tenerife con R', vamos a hacer un mapa de la más olvidada de las Islas Canarias: El Hierro.

lunes, 10 de noviembre de 2025

Simulando arrays con R

Cuando uno junta dos o más elementos radiantes (una antena, un altavoz, un láser,...) y los pone a funcionar a la vez, podría pensar que simplemente se sumarán sus potencias y ya está: "dos altavoces suenan el doble de fuerte que uno solo". Pero la realidad puede ser un poco más compleja si hay ondas de por medio. Cuando los elementos radiantes están separados una distancia del orden de magnitud de la longitud de onda, se puede producir entre ellos un fenómeno de interferencia de ondas, tanto constructiva como destructiva, en función de la dirección.