Un código hermosamente sencillo genera terrenos realistas con fractales

Construir un mundo no es un trabajo fácil, para construir este en el que vivimos se necesitaron de 6 días a 13 billones de años, depende de a quién le preguntes. Sin embargo, si preguntas a Hunter Loftis, autoproclamado yonqui del JavaScript, puede que recibas una tercera opinión. Loftis desarrolló un método asombrosamente simple para generar terreno bello y realista y ahora lo está compartiendo con todo internet.

En un proceso que utiliza tan solo 120 líneas de código, las órdenes de Loftis convierten una cuadrícula plana en una complejidad casi infinita. El código se basa en imágenes fractales, un concepto geométrico en el que cada sección de la forma tiene la misma naturaleza estadística que la forma completa. Se trata de una de las mejores formas de modelar de forma matemática patrones aparentemente caóticos, como la formación de cristales o la erosión del litoral. En este caso, Loftis lo está utilizando para modelar pedazos enteros terreno. Aquí hay una demostración de la generación aleatoria de terreno. Refresca la página para ver cómo se generen nuevas combinaciones alucinantes de colinas, montañas, cañones y valles.

Videos by VICE

Sin embargo, la modelación de terreno realista en sí no es lo más importante de este proyecto, lo verdaderamente impactante es la simplicidad del código. Funciona cogiendo una simple cuadrícula y dividiéndola sucesivamente en otras cuadrículas más pequeñas. A medida que se van creando las cuadrículas más pequeñas, la función de aleatorización divide las cuadrículas alternativamente en cuadrados y diamantes. A continuación, crea un nuevo terreno aleatorizado para el siguiente grupo de cuadrículas basado en los puntos de datos del previo cuadrado o diamante. Puedes leer la explicación de Loftis con todo detalle aquí

El resultado es un terreno aleatorio, pero con áreas de aleatorización graduadas. Este algoritmo impide que el terreno generado aleatoriamente pueda alzar torres gigantes de un píxel de amplitud al lado de una llanura llena de agujeros profundos pixelados. En definitiva, hace que el terreno parezca natural.

Loftis concluye su explicación con un reto: “Si eres un poco como yo, los resultados de este simple algoritmo te dejarán picándote el gusanillo para construir un Terragen online, un juego de disparo en primera persona basado en una mochila cohete, un simulador de pesca, un juego MMORPG, etc. Esta demo prácticamente nos está pidiendo una extensión”.

Y los usuarios del script están respondiendo:

Soluciones simples y elegantes como esta plantean una interesante serie de preguntas: ¿es el mundo en que vivimos realmente de naturaleza fractal? ¿podría el código básico del universo ser únicamente un puñado de líneas simples? Quién sabe, pero seguramente será alguien como Hunter Loftis quien lo adivine. 

Artículos relacionados:

Artist Brings Historic Battle to Life With 3D Rendering

Drive Into the Ocean with These Maps App Glitches

These iOS Map Glitches Show The Warped Beauty Of Machine Error