Guía docente de la asignatura / materia:

Fundamentos de Geometría y Geometría Computacional

Curso 2021/2022
Fecha última actualización: 08/07/2021
Fecha de aprobación por la Comisión Académica 26/07/2021

Máster

Máster Universitario en Desarrollo del Software

Módulo

Módulo 5: Modelado

Rama

Ingeniería y Arquitectura

Centro Responsable del título

International School for Postgraduate Studies

Semestre

Primero

Créditos

3

Tipo

Optativa

Tipo de enseñanza

Semipresencial

Profesorado

  • Domingo Martín Perandrés
  • Francisco Ramón Feito Higueruela

Tutorías

Domingo Martín Perandrés

dmartin@ugr.es
  • Primer semestre
    • Lunes 14:00 a 15:00 (Facultad Bbaa Aula Inf.)
    • Lunes 15:30 a 17:30 (Etsiit Desp. 38 3ª Planta)
    • Martes 14:00 a 15:00 (Facultad Bbaa Aula Inf.)
    • Martes 15:30 a 17:30 (Etsiit Desp. 38 3ª Planta)
  • Segundo semestre
    • Jueves 12:00 a 14:00 (Lrv (Ogíjares))
    • Viernes 10:00 a 14:00 (Etsiit Desp. 38 3ª Planta)

Francisco Ramón Feito Higueruela

feito@ugr.es

Breve descripción de contenidos (Según memoria de verificación del Máster)

  1. OpenGL.
    • Primitivas. Transformaciones geométricas. Cauce Gráfico. Propiedades materiales. Luces. Transformación de visualización. Interacción. Cálculo de normales. Arquitectura de aplicaciones basadas en OpenGL.
  2. Geometría analítica.
    • Puntos, Vectores, Rectas, Planos, Triángulos, Polígonos. Inclusión. Intersección.
  3. Geometría Computacional.
    • Problemas tipo (convex hull, triangulación, búsqueda, diagramas de Voronoi). Estrategias de solución (divide y vencerás, barrido, incremental). Estructuras de datos. Aplicaciones

Prerrequisitos y/o Recomendaciones

  • Se recomienda  tener conocimientos de programación

 

Competencias

Competencias Básicas

  • CB6. Poseer y comprender conocimientos que aporten una base u oportunidad de ser originales en desarrollo y/o aplicación de ideas, a menudo en un contexto de investigación.
  • CB7. Que los estudiantes sepan aplicar los conocimientos adquiridos y su capacidad de resolución de problemas en entornos nuevos o poco conocidos dentro de contextos más amplios (o multidisciplinares) relacionados con su área de estudio.
  • CB8. Que los estudiantes sean capaces de integrar conocimientos y enfrentarse a la complejidad de formular juicios a partir de una información que, siendo incompleta o limitada, incluya reflexiones sobre las responsabilidades sociales y éticas vinculadas a la aplicación de sus conocimientos y juicios.
  • CB9. Que los estudiantes sepan comunicar sus conclusiones y los conocimientos y razones últimas que las sustentan a públicos especializados y no especializados de un modo claro y sin ambigüedades.
  • CB10. Que los estudiantes posean las habilidades de aprendizaje que les permitan continuar estudiando de un modo que habrá de ser en gran medida autodirigido o autónomo.

Competencias Generales

  • CG01. Habilidades cognitivas: conocer los principales problemas o retos tecnológicos planteados en el ámbito de las líneas de investigación del programa de posgrado, conocer los principios de las técnicas o metodologías de solución para dichos problemas propuestas por la comunidad científica, conocer las debilidades y fortalezas de dichas soluciones, así como conocer las aplicaciones que este conocimiento tiene en la sociedad actual. 
  • CG02. Destreza para iniciar un trabajo de investigación científica o desarrollo tecnológico original e innovador, en el marco de los problemas descritos en el punto anterior. 
  • CG03. Ser capaz de emplear el conocimiento científico existente en la resolución de problemas o mejora de procesos a nivel individual o en el contexto de empresas u organismos públicos. 
  • CG04. Capacidades sistémicas para obtener la capacidad de asimilación y adaptación a la evolución futura del estado del arte en el ámbito de las disciplinas científicas del Máster. 
  • CG05. Destrezas tecnológicas: capacidad de usar, evaluar, crear, modificar o extender la herramientas informáticas útiles en la resolución de problemas relacionados con las líneas de investigación 
  • CG06. Capacidades metodológicas: conocer las principales fuentes bibliográficas que describen los avances científicos en las líneas de investigación del programa de posgrado. 
  • CG07. Destrezas lingüísticas: conocer y utilizar la terminología científica especializada, tanto en español como en inglés, relacionada con las líneas de investigación del departamento. 
  • CG08. Competencias personales: capacidad de análisis y síntesis en la resolución efectiva de problemas, así como capacidad de toma de decisiones, organización y planificación. Capacidad de comunicación escrita y oral. 
  • CG09. Competencias interpersonales: capacidad de trabajo en equipo, incluyendo la toma de decisiones en colectivos o grupos. Habilidades en las relaciones interpersonales. Habilidades para presentar trabajos y mantener debates en grupo. 
  • CG10. Destrezas de redacción: ser capaz de expresar los resultados y el desarrollo de las investigaciones en textos o informes científico-técnicos, conocer los mecanismos de revisión entre pares propios de la ciencia para estos documentos, así como los mecanismos para su difusión en forma de artículos en revistas, libros, sitios web o en aportaciones a congresos. 

Competencias Específicas

  • CE01. Ser capaz de llevar a cabo un trabajo de investigación en campos científicos relacionados con el desarrollo del software, teniendo en cuenta los recursos disponibles y sus implicaciones éticas y sociales 
  • CE05. Identificar y valorar propiedades software de usabilidad, accesibilidad, seguridad, confiabilidad, rendimiento, y ética informática, entre otras, y analizar cómo afectan a la calidad de un sistema software. 
  • CE07. Diseñar y desarrollar sistemas software desde una perspectiva centrada en el usuario. 
  • CE11. Reconocer y analizar los métodos y técnicas de sistemas de acceso integrado a múltiples fuentes de datos, en cuanto a los modelos espaciales y temporales para el diseño de base de datos, los almacenes de datos y sistemas OLAP, las ontologías y/o la web semántica. 
  • CE13. Aprender, conocer y saber utilizar los fundamentos y métodos matemáticos necesarios para abordar y resolver aplicaciones gráficas, de animación, de visualización, y/o de realidad virtual, entre otras. 
  • CE14. Comprender, diseñar, implementar y evaluar algoritmos gráficos, tanto 2D como 3D, para la representación, digitalización, visualización, animación e interacción de modelos con su entorno y su aplicación en interfaces de usuario gráficas. 
  • CE15. Conocer y comprender los fundamentos, técnicas y herramientas básicas para la programación eficiente de algoritmos gráficos y en particular en arquitecturas de altas prestaciones como las unidades de procesamiento de gráficos (GPU). 

Competencias Transversales

  • CT01. Mostrar interés por la calidad y la excelencia en la realización de diferentes tareas. 
  • CT02. Comprender y defender la importancia que la diversidad de culturas y costumbres tienen en la investigación o práctica profesional. 
  • CT03. Tener un compromiso ético y social en la aplicación de los conocimientos adquiridos. 
  • CT04. Ser capaz de trabajar en equipos interdisciplinarios para alcanzar objetivos comunes desde campos expertos diferenciados. 
  • CT05. Incorporar los principios del Diseño Universal en el desempeño de su profesión. 

Resultados de aprendizaje (Objetivos)

  • El alumno sabrá/comprenderá:
    • Entender el fundamento del modelado basado en restricciones.
    • Los conceptos básicos de geometría
    • Los fundamentos del modelado geométrico,
    • La estructura de aplicaciones gráficas y sistemas GIS.
  • El alumno será capaz de:
    • Programar ejemplos simples con OpenGL.
    • Razonar sobre aspectos geométricos de aplicaciones gráficas.
    • Evaluar algoritmos geométricos.
    • Diseñar algoritmos geométricos.

Programa de contenidos Teóricos y Prácticos

Teórico

  1. OpenGL.

    • Primitivas. Transformaciones geométricas. Cauce Gráfico. Propiedades materiales. Luces. Transformación de visualización. Interacción. Cálculo de normales. Arquitectura de aplicaciones basadas en OpenGL.

  2. Geometría Analítica.

    • Puntos, Vectores, Rectas, Planos, Triángulos, Polígonos. Inclusión. Intersección.

  3. Geometría Computacional.

    • Problemas tipo (convex hull, triangulación, búsqueda, diagramas de Voronoi). Estrategias de solución (divide y vencerás, barrido, incremental). Estructuras de datos. Aplicaciones

Práctico

  • Tarea 1: OpenGL:
    • Programa de dificultad básica en 3D con C++, OpenGL y Qt
  • Tarea 2:
    • OpenGL: Programa de dificultad básica en 3D con C++, OpenGL y Qt
  • Tarea 3:
    • OpenGL: Programa de dificultad básica en 3D con C++, OpenGL y Qt
  • Tarea 4:
    • Geometría y GC: Programa de dificultad básica en 2D con C++, OpenGL y Qt
  • Tarea 5:
    • Geometría y GC: Programa de dificultad básica en 2D con C++, OpenGL y Qt
  • Tarea 6:
    • Geometría y GC: Programa de dificultad media en 3D con C++, OpenGL y Qt
  • Tarea 7:
    • Práctica indicada por el profesor visitante.

Bibliografía

Bibliografía fundamental

  • A. Paoluzzi: "Geometric Programming for Computer-Aided Design". Wiley 2003.
  • J. O Rourke: "Computational geometry in C". 1997. Cambridge University Press
  • J. Vince: "Essential Matehamtics for Computer Graphics fast". Springer Verlag 2001. 1989
  • Opengl-tutorial http://www.opengl-tutorial.org/es/
  • D. Hearn, M.P. Baker: Gráficos por Computadora con OpenGL. Pearson, 2006.
  • http://genaromendez.com/cursos/graficacion/graficosporcomputadorayopengl.pdf
  • J. Ribelles, J. Lluch (eds.): OpenGL en fichas: Una introducción práctica. Publicacions de la Universitat Jaume I. 2003.
  • OpenGL programming guide, versión 3, 5 edicion. OpenGL Architecture Review Board. Adisson-Wesley

Bibliografía complementaria

Metodología docente

  • MD01 Lección magistral/expositiva 
  • MD02 Sesiones de discusión y debate 
  • MD03 Resolución de problemas y estudio de casos prácticos 
  • MD06 Ejercicios de simulación 
  • MD09 Realización de trabajos individuales 
  • MD11 Desarrollo de foros on-line de debate, de trabajo, de información, de consultas. 
  • MD12 Material audiovisual editado por el profesor (Presentaciones con audio, capturas de pantalla con video, grabación de clases, páginas web) 
  • MD14 Cuestionarios de autoevaluación on-line 

Evaluación (instrumentos de evaluación, criterios de evaluación y porcentaje sobre la calificación final.)

Evaluación Ordinaria

  • El artículo 17 de la Normativa de Evaluación y Calificación de los Estudiantes de la Universidad de Granada establece que la convocatoria ordinaria estará basada preferentemente en la evaluación continua del estudiante, excepto para quienes se les haya reconocido el derecho a la evaluación única final.
  • La evaluación para ambas modalidades será la misma. Se plantean 4 tareas que implican una cantidad de esfuerzo y conocimiento que se van incrementado progresivamente. De esta manera el alumno puede modular la cantidad de esfuerzo que quiera dedicar y la nota que se desee obtener.
  • Se aprueba con un 5.
  • Las tareas son:
    • Tarea 1 (OpenGL)
      • Nota: 0-1 pt.
      • Programación de una aplicación en C++, QtCreator, librerías de Qt, OpenGL que permita crear un objeto 3D, un cubo, y añadir tres modos de visualización
    • Tarea 2 (OpenGL)
      • Nota: 0-1 pt.
      • Programación de una aplicación en C++, QtCreator, librerías de Qt, OpenGL que permita crear leer un objeto PLY y aplicar transformaciones
    • Tarea 3 (OpenGL)
      • Nota: 0-1 pt.
      • Programación de una aplicación en C++, QtCreator, librerías de Qt, OpenGL que permita mover la cámara con el ratón y cambiar el tipo de cámara
    • Tarea 4 (Geometría Computacional)
      • Nota: 0-1 pt.
      • Programación de una aplicación en C++, QtCreator, librerías de Qt, OpenGL que permita importar una polilínea 2D en formato PLY. Para cada segmento se calculará el punto medio y se añadirá un segmento de línea que tenga como origen dicho punto intermedio y que sea perpendicular.
    • Tarea 5 (Geometría Computacional)
      • Nota: 0-1 pt.
      • Programación de una aplicación en C++, QtCreator, librerías de Qt, OpenGL que permita generar un polígono regular de n lados. Al mover el cursor, el programa dibujara una línea entre el cursor y el punto más cercano del polígono.
    • Tarea 6 (Geometría Computacional)
      • Nota: 0-2.5 pts.
      • Programación de una aplicación en C++, QtCreator, librerías de Qt, OpenGL que permita importar un modelo 3D en formato PLY. Dadas dos caras, buscará el camino más corto para llegar de una a otra siguiendo la superficie, las aristas, del objeto. Una vez calculado se mostrará.
    • Tarea 7
      • Nota: 0-2.5 pts.
      • La tarea consistirá en la preparación y entrega de un trabajo relacionado con alguna parte del contenido teórico. Así mismo se deberá preparar y exponer una presentación de dicho trabajo.
  • Para ambas modalidades se realizarán pruebas para comprobar tanto la autoría de los trabajos como el nivel de los conocimientos se han adquirido por parte del alumno. Para ello se realizará una prueba evaluatoria consistente en preguntas sobre las prácticas entregadas. También se podrán proponer cambios, modificaciones y extensiones sobre los programas implementados que tendrán que llevarse a cabo en el momento.
  • Para la modalidad A, la prueba se realizará mediante un encuentro personal.
  • Para la modalidad B, la prueba se realizará por videoconferencia.

Evaluación Extraordinaria

  • El artículo 19 de la Normativa de Evaluación y Calificación de los Estudiantes de la Universidad de Granada establece que los estudiantes que no hayan superado la asignatura en la convocatoria ordinaria dispondrán de una convocatoria extraordinaria. A ella podrán concurrir todos los estudiantes, con independencia de haber seguido o no un proceso de evaluación continua. De esta forma, el estudiante que no haya realizado la evaluación continua tendrá la posibilidad de obtener el 100% de la calificación mediante la realización de una prueba y/o trabajo.
  • La evaluación para ambas modalidades será la misma. Se plantean 4 tareas que implican una cantidad de esfuerzo y conocimiento que se van incrementado progresivamente. De esta manera el alumno puede modular la cantidad de esfuerzo que quiera dedicar y la nota que se desee obtener.
  • Se aprueba con un 5.
  • Las tareas son:
    • Tarea 1 (OpenGL)
      • Nota: 0-1 pt.
      • Programación de una aplicación en C++, QtCreator, librerías de Qt, OpenGL que permita crear un objeto 3D, un cubo, y añadir tres modos de visualización
    • Tarea 2 (OpenGL)
      • Nota: 0-1 pt.
      • Programación de una aplicación en C++, QtCreator, librerías de Qt, OpenGL que permita crear leer un objeto PLY y aplicar transformaciones
    • Tarea 3 (OpenGL)
      • Nota: 0-1 pt.
      • Programación de una aplicación en C++, QtCreator, librerías de Qt, OpenGL que permita mover la cámara con el ratón y cambiar el tipo de cámara
    • Tarea 4 (Geometría Computacional)
      • Nota: 0-1 pt.
      • Programación de una aplicación en C++, QtCreator, librerías de Qt, OpenGL que permita importar una polilínea 2D en formato PLY. Para cada segmento se calculará el punto medio y se añadirá un segmento de línea que tenga como origen dicho punto intermedio y que sea perpendicular.
    • Tarea 5 (Geometría Computacional)
      • Nota: 0-1 pt.
      • Programación de una aplicación en C++, QtCreator, librerías de Qt, OpenGL que permita generar un polígono regular de n lados. Al mover el cursor, el programa dibujara una línea entre el cursor y el punto más cercano del polígono.
    • Tarea 6 (Geometría Computacional)
      • Nota: 0-2.5 pts.
      • Programación de una aplicación en C++, QtCreator, librerías de Qt, OpenGL que permita importar un modelo 3D en formato PLY. Dadas dos caras, buscará el camino más corto para llegar de una a otra siguiendo la superficie, las aristas, del objeto. Una vez calculado se mostrará.
    • Tarea 7
      • Nota: 0-2.5 pts.
      • La tarea consistirá en la preparación y entrega de un trabajo relacionado con alguna parte del contenido teórico. Así mismo se deberá preparar y exponer una presentación de dicho trabajo.
  • Para ambas modalidades se realizarán pruebas para comprobar tanto la autoría de los trabajos como el nivel de los conocimientos se han adquirido por parte del alumno. Para ello se realizará una prueba evaluatoria consistente en preguntas sobre las prácticas entregadas. También se podrán proponer cambios, modificaciones y extensiones sobre los programas implementados que tendrán que llevarse a cabo en el momento.
  • Para la modalidad A, la prueba se realizará mediante un encuentro personal.
  • Para la modalidad B, la prueba se realizará por videoconferencia.

Evaluación única final

  • El artículo 8 de la Normativa de Evaluación y Calificación de los Estudiantes de la Universidad de Granada establece que podrán acogerse a la evaluación única final, el estudiante que no pueda cumplir con el método de evaluación continua por causas justificadas.
  • Para acogerse a la evaluación única final, el estudiante, en las dos primeras semanas de impartición de la asignatura o en las dos semanas siguientes a su matriculación si ésta se ha producido con posterioridad al inicio de las clases o por causa sobrevenidas. Lo solicitará, a través del procedimiento electrónico, a la Coordinación del Máster, quien dará traslado al profesorado correspondiente, alegando y acreditando las razones que le asisten para no poder seguir el sistema de evaluación continua.
  • La evaluación en tal caso consistirá en:
    • Examen teórico: examen escrito u oral sobre contenidos teóricos de la asignatura
    • Examen práctico: realización de programas

Información adicional

Escenario A (Enseñanza-Aprendizaje presencial y tele-presencial)

Horario (Según lo establecido en el POD)

  • Publicadas en la web de la universidad:

https://directorio.ugr.es/static/PersonalUGR/*/s how/137f3de7f3a5e313d2c16356d9f890f8

Herramientas para la atención tutorial (Indicar medios telemáticos para la atención tutorial)

  • Se podrán usar: e-mail, Prado, Google meet, Zoom, Telegram, y otros recursos a través de Internet

Medidas de adaptación de la metodología docente

  • Las impartición de clases teóricas y prácticas se realizarán presencialmente. Adicionalmente, dichas clases se transmitirán en directo y se grabarán, estando disponibles los vídeos en Prado.
  • Los alumnos asistirán a las clases presenciales por turnos según la disponibilidad y las directrices de la ETSIIT y la Universidad

Evaluación Ordinaria

  • Según lo descrito

Evaluación Extraordinaria

  • Según lo descrito

Evaluación única final

  • Según lo descrito

Escenario B (Suspensión de la actividad presencial)

Horario (Según lo establecido en el POD)

  • Publicadas en la web de la universidad:

https://directorio.ugr.es/static/PersonalUGR/*/s how/137f3de7f3a5e313d2c16356d9f890f8

Herramientas para la atención tutorial (Indicar medios telemáticos para la atención tutorial)

  • Se podrán usar: e-mail, Prado, Google meet, Zoom, Telegram, y otros recursos a través de Internet

Medidas de adaptación de la metodología docente

  • Todas clases teóricas y prácticas se realizarán por videoconferencia. Se transmitirán y se grabarán, estando disponibles los vídeos en Prado. (Ambas acciones dependerán de los medios técnicos disponibles)

Evaluación Ordinaria

  • Igual que escenario A

Evaluación Extraordinaria

  • Igual que escenario A

Evaluación única final

  • Igual que escenario A