Pasar al contenido principal

Modelado Avanzado en 3d

Créditos
6
Tipos
Obligatoria de especialidad (Gráficos y Realidad Virtual)
Requisitos
Esta asignatura no tiene requisitos , pero tiene capacidades previas
Departamento
CS
Este curso abarca las técnicas, algoritmos y estructuras de datos utilizados para adquirir, representar y consultar modelos geométricos de sólidos y superficies. El curso cubre diversas técnicas de modelado, incluyendo representaciones de fronteras, representaciones implícitas, instanciación y combinaciones booleanas de sólidos, así como modelado procedimental. También discutiremos estructuras de datos efectivas para representar varios tipos de objetos, así como el proceso de adquisición de modelos a partir de objetos reales.

Profesorado

Responsable

Otros

Horas semanales

Teoría
2
Problemas
0
Laboratorio
2
Aprendizaje dirigido
0
Aprendizaje autónomo
7.1111

Competencias

Computer graphics and virtual reality

  • CEE1.1 - Capacidad de comprender y saber aplicar las tecnologías actuales y las que en el futuro se utilicen para el diseño y evaluación de aplicaciones gráficas interactivas en tres dimensiones, tanto cuando prime la calidad de imagen como cuando lo haga la interactividad o la velocidad, así como comprender los compromisos inherentes y las razones que los ocasionan.
  • Genéricas

  • CG1 - Capacidad para aplicar el método científico en el estudio y análisis de fenómenos y sistemas en cualquier ámbito de la Informática, así como en la concepción, diseño e implantación de soluciones informáticas innovadoras y originales.
  • Actitud frente al trabajo

  • CTR5 - Tener motivación para la realización profesional y para afrontar nuevos retos, así como una visión amplia de las posibilidades de la carrera profesional en el ámbito de la Ingeniería en Informática. Tener motivación por la calidad y la mejora continua, y actuar con rigor en el desarrollo profesional. Capacidad de adaptación a los cambios organizativos o tecnológicos. Capacidad de trabajar en situaciones de falta de información y/o con restricciones temporales y/o de recursos.
  • Razonamiento

  • CTR6 - Capacidad de razonamiento crítico, lógico y matemático. Capacidad para resolver problemas dentro de su área de estudio. Capacidad de abstracción: capacidad de crear y utilizar modelos que reflejen situaciones reales. Capacidad de diseñar y realizar experimentos sencillos, y analizar e interpretar sus resultados. Capacidad de análisis, síntesis y evaluación.
  • Objetivos

    1. Entender los fundamentos de los sistemas de modelado geométrico
      Competencias relacionadas: CEE1.1, CG1, CTR5, CTR6,
    2. Entender y ser capaz de implementar esquemas de representación de sólidos.
      Competencias relacionadas: CEE1.1, CG1, CTR6,
    3. Entender los detalles de la Representación de Fronteras (BRep): características, implementación, operaciones y algoritmos sobre BReps.
      Competencias relacionadas: CEE1.1, CTR6,
    4. 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,
    5. 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,
    6. 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,
    7. Entender las técnicas de modelado procedural, incluyendo fractales, sistemas L y gramáticas CGA.
      Competencias relacionadas: CEE1.1, CTR5, CTR6,
    8. 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

    1. 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.
    2. 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
    3. Subdivision surfaces
      Superficies de subdivisión. Interpolación y aproximación. Regla de actualización. Clasificación. Subdivisión Catmull-Clark.
    4. Modelos CSG
      Geometría Sólida Constructiva. Árboles CSG. Operaciones básicas. Test de punto interior a CSG.
    5. Space decomposition models
      Voxelizaciones. octárboles. Classic, Face y Extended octrees. Representación de octrees. Operaciones básicas sobre octrees.
    6. Implicit modeling
      Campos escalares. Reconstrucción de superficies a partir de campos escalares. Moléculas blobby, metaballs y objetos blandos.
    7. 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.
    8. 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.
    9. Procedural modeling
      Fractales. Sistemas Lindenmayer (sistemas L). Gramáticas estocásticas y paramétricas. Gramáticas CGA. Modelado generativo.
    10. 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 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

    Bibliografía

    Básico

    Complementario

    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).