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.

Descripción

Título: Generador procedimental de terrenos basado en restricciones
Autor/es:
  • Rodríguez Codes, Pablo Armando
Director/es:
  • Peña Sánchez, José María
Tipo de Documento: Proyecto Fin de Carrera/Grado
Grado: Grado en Ingeniería Informática
Fecha: Junio 2015
Materias:
Escuela: E.T.S. de Ingenieros Informáticos (UPM)
Departamento: Arquitectura y Tecnología de Sistemas Informáticos
Licencias Creative Commons: Reconocimiento - Sin obra derivada - No comercial

Texto completo

[img]
Vista Previa
PDF (Document Portable Format) - Se necesita un visor de ficheros PDF, como GSview, Xpdf o Adobe Acrobat Reader
Descargar (1MB) | Vista Previa

Resumen

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.

Más información

ID de Registro: 43527
Identificador DC: http://oa.upm.es/43527/
Identificador OAI: oai:oa.upm.es:43527
Depositado por: Biblioteca Facultad de Informatica
Depositado el: 17 Oct 2016 07:18
Ultima Modificación: 17 Oct 2016 07:20
  • Open Access
  • Open Access
  • Sherpa-Romeo
    Compruebe si la revista anglosajona en la que ha publicado un artículo permite también su publicación en abierto.
  • Dulcinea
    Compruebe si la revista española en la que ha publicado un artículo permite también su publicación en abierto.
  • Recolecta
  • e-ciencia
  • Observatorio I+D+i UPM
  • OpenCourseWare UPM