Vés al contingut

Modelat Avançat en 3d

Crèdits
6
Tipus
Obligatòria d'especialitat (Gràfics i Realitat Virtual)
Requisits
Aquesta assignatura no té requisits , però té capacitats prèvies
Departament
CS
Aquest curs cobreix les tècniques, algorismes i estructures de dades utilitzades per a generar, representar i consultar models geomètrics de sòlids i superfícies. El curs tracta diverses tècniques de modelatge, incloent representacions de fronteres, representacions implícites, instanciació i combinacions booleanes de sòlids, així com modelatge procedimental. També discutirem estructures de dades efectives per representar diversos tipus d'objectes, així com el procés d'adquisició de models a partir d'objectes reals.

Professorat

Responsable

  • Carlos Andujar Gran (andujar@cs.upc.edu)

Altres

  • Alvaro Vinacua Pla (alvar@cs.upc.edu)
  • Marta Fairen Gonzalez (mfairen@cs.upc.edu)
  • Oscar Argudo Medrano (oargudo@cs.upc.edu)

Hores setmanals

Teoria
2
Problemes
0
Laboratori
2
Aprenentatge dirigit
0
Aprenentatge autònom
7.1111

Competències

Gràfics i realitat virtual

  • CEE1.1 - Capacitat de comprendre i saber aplicar les tecnologies actuals i les que en el futur es facin servir per al disseny i avaluació d'aplicacions gràfiques interactives en tres dimensions, tant quan prevalgui la qualitat d'imatge com quan ho faci la interactivitat o la velocitat, així com comprendre els compromisos inherents i les raons que els ocasionen.
  • Genèriques

  • CG1 - Capacitat per aplicar el mètode científic en l'estudi i anàlisi de fenòmens i sistemes en qualsevol àmbit de la Informàtica, així com en la concepció, disseny i implantació de solucions informàtiques innovadores i originals.
  • Actitud adequada davant el treball

  • CTR5 - Tenir motivació per a la realització professional i per a afrontar nous reptes, tenir una visió àmplia de les possibilitats de la carrera professional en l'àmbit de l'enginyeria en informàtica. Sentir-se motivat per la qualitat i la millora contínua, i actuar amb rigor en el desenvolupament professional. Capacitat d'adaptació als canvis organitzatius o tecnològics. Capacitat de treballar en situacions de carència d'informació i/o amb restriccions temporals i/o de recursos.
  • Raonament

  • CTR6 - Capacitat de raonament crític, lògic i matemàtic. Capacitat de resoldre problemes en la seva àrea d'estudi. Capacitat d'abstracció: capacitat de crear i utilitzar models que reflecteixin situacions reals. Capacitat de dissenyar i realitzar experiments senzills, i analitzar-ne i interpretar-ne els resultats. Capacitat d'anàlisi, de síntesi i d'avaluació.
  • Objectius

    1. Entendre els fonaments dels sistemes de modelatge geomètric
      Competències relacionades: CEE1.1, CG1, CTR5, CTR6,
    2. Entendre i ser capaç de implementar els esquemes de representació més rellevants per a sòlids.
      Competències relacionades: CEE1.1, CG1, CTR6,
    3. Entendre els detalls de la Representació de Fronteres: característiques principals, implementació i consultes/algoritmes bàsics que operen en BReps.
      Competències relacionades: CEE1.1, CTR6,
    4. Entendre els detalls dels Models de Descomposició Espacial (voxelitzacions, octrees): característiques, implementació i operacions sobre aquest tipus de representacions.
      Competències relacionades: CEE1.1, CTR6,
    5. Entendre els detalls dels Models de Geometria Constructiva de Sòlids (CSG): característiques, implementació, i operacions sobre aquest tipus de representacions.
      Competències relacionades: CEE1.1, CTR6,
    6. Ser capaç de implementar scripts (Python) i programes (C++) per resoldre problemes de modelatge geomètric utilitzant diferents esquemes de representació de models 3D.
      Competències relacionades: CEE1.1, CTR5, CTR6,
    7. Entendre les tècniques de modelatge procedural, incloent fractals, sistemes L i gramàtiques CGA.
      Competències relacionades: CEE1.1, CTR5, CTR6,
    8. Entendre les tècniques de modelatge implícit: camps escalars, algorismes d'extracció de superfícies, metaballs i algorismes associats.
      Competències relacionades: CEE1.1, CTR6,

    Continguts

    1. Fonaments del modelatge 3D
      Elements d'un sistema de modelatge geomètric. Models de sòlids. Conjunts de punts tancats, acotats i regulars. Superfícies 2-varietat. Nivells d'abstracció en modelatge geomètric.
    2. La representació de fronteres (BRep)
      Políedres. Components connexes, cares, bucles, arestes i vèrtexs. Gènere d'una superfície. Equació d'Euler per a políedres. Relacions d'incidència. Creació de models BRep. Operacions booleanes. Corbes i superfícies per a modelatge geomètric
    3. Subdivision surfaces
      Superfícies de subdivisió. Interpolació i aproximació. Regla d'actualització. Classificació. Subdivisió Catmull-Clark.
    4. CSG models
      Constructive Solid Geometry. CSG trees. Operacions. Test de punt interior a CSG.
    5. Space decomposition models
      Voxelizations. Octrees. Classic, Face and Extended octrees. Octree representation. Basic operations on octrees.
    6. Implicit modeling
      Scalar fields. Surface reconstruction from scalar fields. Blobby molecules, metaballs and soft objects.
    7. Data structures for triangle meshes
      Euler equation for triangle meshes. Face-based, Vertex-based and edge-based representations. The half-edge data structure. APIs for geometry processing.
    8. Geometric tests and queries
      Estimating normal and tangent planes at vertices of polygonal meshes. Discrete curvature at mesh vertices. Mesh quality. Non-selfintersection test.
    9. Procedural modeling
      Fractals. Lindenmayer systems (L-systems). Stochastic and parametric grammars. Shape grammars. Generative modeling.
    10. Geometry acquisition
      Pipeline for the acquisition of 3D models. Technologies. Registration and merge.

    Activitats

    Activitat Acte avaluatiu


    Lectures

    Material will be presented in lectures along the term. You are expected to conduct complementary readings and exercises will also be assigned on occasion, to be presented at a later date or turned in.
    Objectius: 1 2 3 4 5 7 8
    Teoria
    23h
    Problemes
    0h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    40h

    Implementation of selected algorithms

    A selection of relevant algorithms will be assigned to implement in Lab sessions and on your own. You may be required to present your solution to the class. You must turn in fully functional source code that runs in the indicated platform. Usual languages are C++ and Python.
    Objectius: 1 2 3 4 5 6 7 8
    Teoria
    0h
    Problemes
    0h
    Laboratori
    27h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    56h

    Final exam

    At the end of the term you will have a final exam, which may be a take-home.

    Setmana: 17
    Teoria
    0h
    Problemes
    0h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    0h

    Partial exam

    At the middle of the term you will have a partial exam, which may be a take-home.

    Setmana: 7
    Teoria
    0h
    Problemes
    0h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    0h

    Metodologia docent

    The teaching methodology will be based based on weekly theory classes and lab classes. Course concepts will be introduced in the theory classes. Exercises will be used to consolidate these concepts, which will be further developed in the lab sessions.

    The lab sessions basically involve the teacher presenting the guidelines for the practical work (split by sessions) and the concepts bearing on the software to be used. Students will complete the design and programming of the various applications bearing on the course contents. The exercises will be carried out individually.

    Mètode d'avaluació

    Partial: mark based on the student's performance in the partial exam

    Exam: mark based on the student's performance in the final exam

    Lab: grade stem from the student's implementations of selected algorithms (including occasionally their presentation of their
    solution in a laboratory class)

    The final grade for the course will be computed as:

    Final Grade = 0.4 Exam + 0.3 Partial + 0.3 Lab

    Bibliografia

    Bàsic

    Complementari

    Capacitats prèvies

    Àlgebra linial, geometria 2D i 3D, i programació.

    Al laboratori s'utilitza C++ i Python, per la qual cosa es requereix com a mínim experiència en C/C++.

    És molt recomanble tenir coneixements de Gràfics per Computador (pipeline, shaders, OpenGL).