Programació d'una llibreria de generació d'edificis procedurals en 3D amb WebGL i Three.js

Enllaç permanent

Descripció

  • Resum

    Aquest Treball Final de Grau consisteix en la programació d'una llibreria capaç de/ngenerar edificis procedurals en 3D. La llibreria està desenvolupada sobre Three.js/nper a WebGL./nPer la generació dels edificis s'utilitza un algoritme propi que he creat basant-me en/naltres algoritmes similars. Els plans dels pisos són generats recursivament a partir/nd'un polígon bàsic que expandeix les seves arestes afegint-hi més polígons que, al/nseu torn, també expandeixen les seves arestes amb altres polígons. La fusió de tots/naquests polígons bàsics en genera un de més complex que simula la planta dels/nedificis./nAquesta estructura d'arbre on cada polígon és un node, en permet la manipulació/nper aconseguir efectes realistes com que els pisos superiors tinguin formes més/npetites que els inferiors, simulant àtics i terrasses./nLa llibreria també s'encarrega d'afegir meshs decoratives (balcons, portes,/nbotigues...) i de crear un atlas de textures per a millorar el rendiment.
    This final degree Project describes the programming of a library able to generate/nprocedural buildings in 3D. This library is developed on Three.js for WebGL./nAn originally designed algorithm based on similar algorithms is used to generate/nthe buildings. Building plans are produced recursively from a basic polygon that/nexpands its edges adding more polygons, that at the same time also expand their/nedges with other polygons. The union of all these basic polygons creates a complex/nshape that simulates the plan form of the buildings./nThis tree-like structure, where each polygon acts as a node, allows its manipulation/nin order to achieve realistic effects like generating small sized upper levels in/ncomparison to the lower floors, simulating attics and balconies./nThe library also adds decorative meshes (doors, windows, shops…) and creates a/ntexture atlas to improve performance.
  • Descripció

    Treball de fi de grau en Informàtica
    Tutor: Javier Agenjo
  • Mostra el registre complet