Prof. Luiz Fernando Martha
e-mail: lfm@tecgraf.puc-rio.br
Pontifícia Universidade Católica do Rio de Janeiro - PUC-Rio -
Departamento de Engenharia Civil
Prof. André Maués Brabo Pereira
e-mail: andremaues@id.uff.br
Universidade Federal Fluminense - UFF -
Departamento de Engenharia Civil
Horário e sala de aula
Download
Bibliotecas dinâmicas (DLL) para execução de programas Qt (versão 4.8.5) fora do ambiente de desenvolvimento VisualStudio2008.
Essas bibliotecas devem ficar no mesmo diretório do executável ou em algum diretório no path do ambiente:
Versão Debug: QtCored4.dll, QtGuid4.dll e QtOpenGLd4.dll.
Versão Release: QtCore4.dll, QtGui4.dll e QtOpenGL4.dll.
Notas sobre programação em C:
Fundamentos de Programação Estruturada em C; Funções, Variáveis e Utilização de Memória em C; Estruturas e
Alocação de Memória em C.
Notas de aula e apostilas:
Aula 01 - 27/fev/2014 -
Apresentação do ambiente de desenvolviento - Visual Studio 2008 e Qt - e introdução a computação gráfica para engenharia.
Hello World!: programa simples criado com o plugin do Qt 4.8.5 para o Visual Studio 2008:
Instruções para criação do programa.
Soma: programa simples criado com o plugin do Qt 4.8.5 para o Visual Studio 2008 para efetuar a soma de dois números:
Instruções para criação do programa.
Introdução à computação gráfica para desenvolvimento de programas de simulação gráfica de problemas de engenharia:
Introdução à Computação Gráfica.
Aula 02 - 13/mar/2013 -
Desenvolvimento de uma calculadora RPN em C++.
Calculadora RPN: programa criado com o Visual Studio 2008 para efetuar operações algébricas entre números, uma calculadora funcionando com console usando RPN.
Instruções para criação do programa.
Aula 03 - 20/mar/2013 - Introdução a Programação Orientada a Objetos.
Modelagem Orientada a Objetos da calculadora RPN.
Modelagem Orientada a Objetos.
Fundamentos de Orientação a Objetos e UML, Danielle Duque Estrada Pacheco, capítulo 3 de Estruturas de Dados
Topológicas para Modelagem Geométrica Bidimensional de Problemas de Engenharia, Projeto Final de Graduação, Universidade Federal Fluminense -
Departamento de Engenharia Civil, 2011.
Aula 04 - 27/mar/2014 - Tratamento de cor. Visualização bidimensional com OpenGL. Padrão/biblioteca gráfica OpenGL.
Roteiro para criação de um programa simples para desenho 2D usando Visual Studio 9, Qt e OpenGL.
Computação Gráfica - Cor & OpenGL.
Aula 05 - 03/abr/2014 - Programação em um ambiente gráfico interativo dirigido por eventos. Paradigma de signals & slots do Qt. Transformações geométricas 2D.
Programação Orientada a Eventos em Sistemas de Interfaces com o Usuário.
Transformações geométricas 2D.
Qt: Paradigma de Signals & Slots.
Exemplo simples de funcionamento do paradigma Signals & Slots.
Qt object model and the signal slot concept.
Qt Widgets and layouts.
Aula 06 - 10/abr/2014 - Eventos de mouse em canvas. Representações digitais de curvas.
Programa simples para entendimento de eventos de mouse em canvas OpenGL usando Qt.
Explicação do programa simples.
Executável da solução do programa simples.
Representação digital de curvas.
Aula 07 - 24/abr/2014 - Aula 08 - 08/mai/2014 - Introdução à Geometria Computacional. Tesselagem de regiões bidimensionais. Algoritmos de interseção de segmentos de reta. Precisão, Aritmética exata e adaptativa. Predicados da geometrica computacional: teste de proximidade e inclusão de pontos.
Introdução à Geometria Computacional.
Aula 09 - 15/mai/2014 - Modelagem geométrica (2-manifold e non-manifold). Estruturas de dados topológicas. Estrutura de dados Half-edge.
Modelagem Geométrica.
Aula 10 - 22/mai/2014 - Aula 11 - 29/mai/2014 - Geração de malhas de elementos finitos: algoritmos de mapeamento, avanço de fronteiras e triangulação Delaunay.
Geração de malhas de elementos finitos.
Aula 12 - 05/junho/2014 - Transformações geométricas para visualização 3D.
Transformações lineares e afins no plano, transformações geométricas e projeções.
Transformações geométricas para visualização em 3D.
Programa de controle de visualização 3D para ser completado em aula.
Executável da solução do programa de controle de visualização 3D.
OpenGL Transformation.
OpenGL: programa matrixModelView.
OpenGL: programa matrixProjection.
OpenGL: programa de projeção 3D.
Trabalhos
Serão propostos trabalhos individuais durante o curso conforme divulgado no programa mostrado abaixo.
Programa
Aula |
Assunto |
Trabalho |
||
1 |
27/Fev |
5ª f |
Apresentação do ambiente de desenvolvimento - Visual Studio 2008 e Qt. Desenvolvimento de programa simples com o ambiente: soma de dois números. Introdução a Computação Gráfica para Engenharia. |
|
|
06/Mar |
5ª f |
FERIADO – Carnaval |
|
2 |
13/Mar |
5ª f |
Desenvolvimento de uma calculadora RPN em C++. |
Trabalho 1: calculadora com Qt |
3 |
20/Mar |
5ª f |
Introdução a Programação Orientada a Objetos. Modelagem Orientada a Objetos da calculadora RPN. |
|
4 |
27/Mar |
5ª f |
Tratamento de cor. Visualização bidimensional com OpenGL. Padrão/biblioteca gráfica OpenGL. |
|
5 |
03/Abr |
5ª f |
Programação em um ambiente gráfico interativo dirigido por eventos. Paradigma de signals & slots do Qt. Transformações geométricas 2D. |
Trabalho 2: visualização bidimensional com Qt e OpenGL |
6 |
10/Abr |
5ª f |
Eventos de mouse em canvas. Representações digitais de curvas. |
Trabalho 3: biblioteca de primitivas gráficas e coleta de curvas. |
|
17/Abr |
5ª f |
FERIADO – Semana Santa |
|
7 |
24/Abr |
5ª f |
Introdução à Geometria Computacional. Tesselagem de regiões bidimensionais. Predicados da geometrica computacional: teste de proximidade e inclusão de pontos. |
|
|
01/Mai |
5ª f |
FERIADO – Dia do Trabalho |
|
8 |
08/Mai |
5ª f |
Algoritmos de interseção de segmentos de reta. Precisão, Aritmética exata e adaptativa. |
Trabalho 4: modelador geométrico com interseções de retas e criação explícita de regiões |
9 |
15/Mai |
5ª f |
Modelagem geométrica (2-manifold e non-manifold). Estruturas de dados topológicas. Estrutura de dados Half-edge. |
|
10 |
22/Mai |
5ª f |
Revisão de modelagem geométrica. Introdução à geração de malhas de elementos finitos. |
|
11 |
29/Mai |
5ª f |
Geração de malhas de elementos finitos: algoritmos de mapeamento, avanço de fronteiras e triangulação Delaunay. |
Trabalho 5: geração de malhas |
12 |
05/Jun |
5ª f |
Transformações geométricas para visualização 3D. |
|
Critério de aprovação
Grau Final (GF) é obtido pela média aritmética dos trabalhos (todos com peso igual).
Se GF ≥ 6,0, o aluno será considerado aprovado.
Caso contrário o aluno estará reprovado.
Bibliografia
Referência para C++ na internet: www.cplusplus.com.
Renato Borges e André Clinio, Programação Orientada a Objetos com C++.
B. Stroustrup, The C++ Programming Language, Addison-Wasley, 3rd edition, 2000.
B. Stroustrup, C++ A Linguagem de Programação, Bookman Companhia, 3a edição, 2000.
Marcio Santi, Curso de Programação III.
Waldemar Celes e Renato Cerqueira, Estrutura de Dados, Material da disciplina INF 1620 - Estrutura de Dados.
Jonas de Miranda Gomes e Luiz Velho, Computação Gráfica, Volume 1, Série de Computação e Matemática, IMPA, 1998.
Rogers, D.F., Adams, J.A.; Mathematical Elements for Computer Graphics, Second Edition, McGraw-Hill International Editions, Computer Series, New York, 1990.
Rogers, D.F.; Procedural Elements for Computer Graphics, McGraw-Hill International Editions, Computer Series, New York, 1985.
Foley, J.D., van Dam, A., Feiner, S., Hughes, J.; Computer Graphics: Principles and Practice, Second Edition in C, Addison-Wesley, 1995.
Arlindo Cardarett Vianna, Computação Gráfica, Tecgraf/PUC-Rio, Apostila, Ago. 1996.
Marcos Chataignier de Arruda, Modelagem Geométrica Não-manifold, PUC-Rio - Departamento de Engenharia Civil, Apêndice da Dissertação de Mestrado: Operações booleanas com sólidos compostos representados por fronteira, Jan. 2005.
Danielle Duque Estrada Pacheco, Estruturas de Dados Topológicas para Modelagem Geométrica Bidimensional de Problemas de Engenharia, Projeto Final de Graduação, Universidade Federal Fluminense - Departamento de Engenharia Civil, 2011.
Sistema de interface Qt:
Qt documentation.
Qt course materials.
OpenGL Programming Guide, Addison-Wesley Publishing Company, 1996.
Sistema gráfico OpenGL – The Industry's Foundation for High Performance Graphics: www.opengl.org.
OpenGL Conceitos Básicos, por Waldemar Celes.
Software utilizado no curso
Bibliotecas dinâmicas (DLL) para execução de programas Qt (versão 4.8.5) fora do ambiente de desenvolvimento VisualStudio2008.
Essas bibliotecas devem ficar no mesmo diretório do executável ou em algum diretório no path do ambiente:
Versão Debug: QtCored4.dll, QtGuid4.dll e QtOpenGLd4.dll.
Versão Release: QtCore4.dll, QtGui4.dll e QtOpenGL4.dll.
Última atualização: 05/Junho/2014 por Luiz Fernando Martha