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
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
Genèriques
Actitud adequada davant el treball
Raonament
Objectius
-
Entendre els fonaments dels sistemes de modelatge geomètric
Competències relacionades: CEE1.1, CG1, CTR5, CTR6, -
Entendre i ser capaç de implementar els esquemes de representació més rellevants per a sòlids.
Competències relacionades: CEE1.1, CG1, CTR6, -
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, -
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, -
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, -
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, -
Entendre les tècniques de modelatge procedural, incloent fractals, sistemes L i gramàtiques CGA.
Competències relacionades: CEE1.1, CTR5, CTR6, -
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
-
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. -
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 -
Subdivision surfaces
Superfícies de subdivisió. Interpolació i aproximació. Regla d'actualització. Classificació. Subdivisió Catmull-Clark. -
CSG models
Constructive Solid Geometry. CSG trees. Operacions. Test de punt interior a CSG. -
Space decomposition models
Voxelizations. Octrees. Classic, Face and Extended octrees. Octree representation. Basic operations on octrees. -
Implicit modeling
Scalar fields. Surface reconstruction from scalar fields. Blobby molecules, metaballs and soft objects. -
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. -
Geometric tests and queries
Estimating normal and tangent planes at vertices of polygonal meshes. Discrete curvature at mesh vertices. Mesh quality. Non-selfintersection test. -
Procedural modeling
Fractals. Lindenmayer systems (L-systems). Stochastic and parametric grammars. Shape grammars. Generative modeling. -
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 examExam: 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
-
Computer graphics and geometric modeling
- Agoston, M.K,
Springer,
2004.
ISBN: 1852338180
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003073629706711&context=L&vid=34CSUC_UPC:VU1&lang=ca
Complementari
-
Polygon mesh processing
- Botsch, M. [et al.],
A K Peters,
2010.
ISBN: 9781568814261
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003933099706711&context=L&vid=34CSUC_UPC:VU1&lang=ca
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).