Generador procedimental de terrenos basado en restricciones

Rodríguez Codes, Pablo Armando (2015). Generador procedimental de terrenos basado en restricciones. Proyecto Fin de Carrera / Trabajo Fin de Grado, E.T.S. de Ingenieros Informáticos (UPM), Madrid, España.

Description

Title: Generador procedimental de terrenos basado en restricciones
Author/s:
  • Rodríguez Codes, Pablo Armando
Contributor/s:
  • Peña Sánchez, José María
Item Type: Final Project
Degree: Grado en Ingeniería Informática
Date: June 2015
Subjects:
Faculty: E.T.S. de Ingenieros Informáticos (UPM)
Department: Arquitectura y Tecnología de Sistemas Informáticos
Creative Commons Licenses: Recognition - No derivative works - Non commercial

Full text

[img]
Preview
PDF - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (1MB) | Preview

Abstract

Este proyecto consiste en la realización de una herramienta de generación de escenarios exteriores. Dicha herramienta cuenta con la algoritmia necesaria para la generación de los elementos pertenecientes a distintas capas del escenario, las cuales incluyen la generación de orografía o elementos de terreno, la generación de cuerpos de agua como ríos y lagos, y la generación de caminos. Uno de los principios de diseño fundamentales del proyecto es la generación onthe- fly, es decir, la capacidad de generar los resultados en ejecución únicamente a partir de los datos mínimos que permitan la reproducibilidad de dicha generación. Asimismo, uno de los objetivos principales es que la herramienta permita una interacción rica y dinámica. Esto incluye por un lado que el usuario sea capaz de controlar los resultados a generar con una gran variedad de parámetros, y por otro lado que el impacto de los cambios en dichos parámetros sea visible inmediatamente en los resultados. La generación de la orografía se realiza a partir de un algoritmo de generación de ruido de Perlin fractalizado, el cual permite disponer de una gran variedad de parámetros de entrada con los que el usuario controla las características del terreno, entre los cuales se incluyen principalmente la altura media del terreno, la planaridad, y la rugosidad del mismo. Esto se completa con un sistema de edición multi-zona que permite la definición de varias zonas de terreno, cada una con sus propias características orográficas. La generación de cuerpos de agua consiste en la generación de ríos y lagos mediante algoritmos de inundación. Por un lado, un lago puede ser generado indicando el punto desde el cual generarlo y la altura del nivel del agua que se desea que tenga. Por otro lado, un río puede generarse indicando el punto de origen del mismo, a partir del cual se elabora el curso del río siguiendo el camino de máxima pendiente negativa, recurriendo a la inundación para la generación de lagos en los puntos de mínimo local, incrementando la altura de los mismos hasta encontrar de nuevo el curso de salida de dicho mínimo local. La generación de caminos se realiza según un algoritmo de búsqueda A*, utilizando la distancia euclídea como función de coste y estimación. El algoritmo se amplía con restricciones en la máxima pendiente que puede tomar el camino, y con penalizaciones de coste para caminos generados sobre cuerpos de agua a modo de puentes. Finalmente, el trabajo se completa con la creación de una herramienta de exportación que permita la inclusión de los mapas generados a escenas de otros proyectos como videojuegos o películas. Esta herramienta consiste en una biblioteca en Python que hace uso del SDK de Autodesk para la generación de modelos en formato FBX, de uso extendido en la industria.---ABSTRACT---This project consists on the development of an outdoor scenario procedural generation tool. The algorithms developed in this tool are capable of generating several layers of elements, which include the generation of orography or terrain, the generation of water bodies such as lakes and rivers, and the generation of roads or paths. One of the main design values of this project is on-the-fly generation, that is, the ability to generate the results in execution time solely from the minimum data that makes possible said generation and its reproducibility. Moreover, one of the main objectives is that the tool offers a rich and dynamic interaction. This means, on one hand, that the user is able to control the results via a sufficiently large set of input parameters, and on the other hand, that the impact of changes made in said parameters can immediately be seen in the results. Terrain generation is handled by a fractalized Perlin noise algorithm, which offers a great set of input parameters to control the shape of the terrain, such as its average height, flatness and roughness. This is completed with a multi-area editor, which allows the definition of several areas of terrain, each one of which has its own orographic characteristics. The generation of water bodies consists on the generation of rivers and lakes via flooding algorithms. On one hand, a lake can be generated by indicating the point from where to flood the terrain and the height at which to do so. On the other hand, a river can be generating by indicating its source point, from where the algorithm generates its course by following the course of maximum negative slope, making use of a flooding mechanism to generate lakes in local minimum points, increasing these lakes’ height until the course away from the local minimum is found. Road generation is handled via an A* search algorithm, using the euclidean distance as the cost function. Said algorithm is extended with restrictions over the maximum slope of the road, as well as with cost penalties for paths generated over water bodies as bridges. Finally, the project is completed with the creation of an exporting tool that allows the generated map to be included in external projects such as video games or films. This tool consists on a Python library that makes use of Autodesk’s SDK for the generation of models in FBX format, which is widely used in the industry.

More information

Item ID: 43527
DC Identifier: http://oa.upm.es/43527/
OAI Identifier: oai:oa.upm.es:43527
Deposited by: Biblioteca Facultad de Informatica
Deposited on: 17 Oct 2016 07:18
Last Modified: 17 Oct 2016 07:20
  • Logo InvestigaM (UPM)
  • Logo GEOUP4
  • Logo Open Access
  • Open Access
  • Logo Sherpa/Romeo
    Check whether the anglo-saxon journal in which you have published an article allows you to also publish it under open access.
  • Logo Dulcinea
    Check whether the spanish journal in which you have published an article allows you to also publish it under open access.
  • Logo de Recolecta
  • Logo del Observatorio I+D+i UPM
  • Logo de OpenCourseWare UPM