Créditos
6
Tipos
Obligatoria de especialidad (Gráficos y Realidad Virtual)
Requisitos
Esta asignatura no tiene requisitos
, pero tiene capacidades previas
Departamento
CS
Profesorado
Responsable
- Carlos Andujar Gran ( andujar@cs.upc.edu )
Otros
- Alvaro Vinacua Pla ( alvar@cs.upc.edu )
- Marta Fairen Gonzalez ( mfairen@cs.upc.edu )
- Oscar Argudo Medrano ( oargudo@cs.upc.edu )
Horas semanales
Teoría
2
Problemas
0
Laboratorio
2
Aprendizaje dirigido
0
Aprendizaje autónomo
7.1111
Competencias
Computer graphics and virtual reality
Genéricas
Actitud frente al trabajo
Razonamiento
Objetivos
-
Entender los fundamentos de los sistemas de modelado geométrico
Competencias relacionadas: CEE1.1, CG1, CTR5, CTR6, -
Entender y ser capaz de implementar esquemas de representación de sólidos.
Competencias relacionadas: CEE1.1, CG1, CTR6, -
Entender los detalles de la Representación de Fronteras (BRep): características, implementación, operaciones y algoritmos sobre BReps.
Competencias relacionadas: CEE1.1, CTR6, -
Entender los detalles de los Modelos de Descomposición Espacial (voxelizaciones, octrees): características, implementación, y operaciones sobre este tipo de representaciones.
Competencias relacionadas: CEE1.1, CTR6, -
Entender los detalles de los Modelos de Geometría Constructiva de Sólidos (CSG): características, implementación, y operaciones sobre este tipo de representaciones.
Competencias relacionadas: CEE1.1, CTR6, -
Ser capaz de implementar scripts (Python) y programas (C++) para resolver problemas de modelado geométrico usando diferentes esquemas de representación de modelos 3D.
Competencias relacionadas: CEE1.1, CTR5, CTR6, -
Entender las técnicas de modelado procedural, incluyendo fractales, sistemas L y gramáticas CGA.
Competencias relacionadas: CEE1.1, CTR5, CTR6, -
Entender las técnicas de modelado implícito: campos escalares, algoritmos de extracción de superfícies, metaballs y algoritmos asociados.
Competencias relacionadas: CEE1.1, CTR6,
Contenidos
-
Fundamentos del modelado 3D
Elementos de un sistema de modelado geométrico. Modelos de sólidos. Conjuntos de puntos cerrados, acotados y regulares. Superficies 2-variedad. Niveles de abstracción en modelado geométrico. -
La representación de fronteras (BRep)
Poliedros. Componentes conexas, caras, bucles, aristas y vértices. Género de una superficie. Ecuación de Euler para poliedros. Relaciones de incidencia. Creación de modelos BRep. Operaciones booleanas. Curvas y superficies para modelado geométrico -
Subdivision surfaces
Superficies de subdivisión. Interpolación y aproximación. Regla de actualización. Clasificación. Subdivisión Catmull-Clark. -
Modelos CSG
Geometría Sólida Constructiva. Árboles CSG. Operaciones básicas. Test de punto interior a CSG. -
Space decomposition models
Voxelizaciones. octárboles. Classic, Face y Extended octrees. Representación de octrees. Operaciones básicas sobre octrees. -
Implicit modeling
Campos escalares. Reconstrucción de superficies a partir de campos escalares. Moléculas blobby, metaballs y objetos blandos. -
Estructuras de datos para mallas triangulares
Ecuación de Euler para mallas triangulares. Representaciones basadas en caras, vértices y aristas. La estructura de datos basada en semi-aristas. API para procesamiento de geometría. -
Tests geométricos
Estimación de planos normales y tangentes en vértices de mallas poligonales. Curvatura discreta en los vértices de la malla. Calidad de malla. Prueba de no autointersección. -
Procedural modeling
Fractales. Sistemas Lindenmayer (sistemas L). Gramáticas estocásticas y paramétricas. Gramáticas CGA. Modelado generativo. -
Digitalización de geometría
Proceso para la adquisición de modelos 3D. Tecnologías. Registro y fusión.
Actividades
Actividad Acto evaluativo
Clases de teoría
El material se presentará en clases a lo largo del cuatrimestre. Se espera que el estudiante realice lecturas y ejercicios complementarios, para ser presentados en fecha posterior o entregados.Objetivos: 1 2 3 4 5 7 8
Teoría
23h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
40h
Implementación de una selección de algoritmos
Se asignará una selección de algoritmos relevantes para implementar en sesiones de laboratorio y por su cuenta. Es posible que se le solicite presentar su solución en la clase. Debe entregar código fuente completamente funcional que se ejecute en la plataforma indicada. Los lenguajes usuales son C++ y Python.Objetivos: 1 2 3 4 5 6 7 8
Teoría
0h
Problemas
0h
Laboratorio
27h
Aprendizaje dirigido
0h
Aprendizaje autónomo
56h
Final exam
At the end of the term you will have a final exam, which may be a take-home.Semana: 17
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
0h
Partial exam
At the middle of the term you will have a partial exam, which may be a take-home.Semana: 7
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
0h
Metodología docente
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étodo de evaluación
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
Bibliografía
Básico
-
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
Complementario
-
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
Capacidades previas
Álgebra lineal, geometría 2D y 3D, y programación.En el laboratorio se usa C++ y Python, por lo cual se requiere como mínimo experiencia en C/C++.
Se recomienda también disponer de formación básica de Gráficos por Computador (pipeline, shaders, OpenGL).