Computação Gráfica - TCC 00.291

Ocorrências :
95/1 - 96/1 - 97/1 - 98/1 - 99/1 - 2000/1 - 2001/1 - 2002/1 - 2003/1 - 2004/1
Últimas ocorrências :
2014/2 - 2015/1 - 2016/2 - 2017/2 - 2018/1 - 2018/2 - 2019/1 - 2019/2 - 2020/1 - 2020/2 - 2021/1

Última atualização: 27 / 09 / 2021


HORÁRIO 2021 / 1 (ocorrendo de 14/06 a 25/09 de 2021) :

3o e 5o das 7 as 9 horas - Classroom e Meet

tercas = meet.google.com/ytg-xvat-vxa

quintas = meet.google.com/byt-rgcg-ztw


Plano de ensino no ambiente virtual de aprendizagem em formato remoto emergencial

As avaliacoes devem ser sincronas (na forma de apresentação de trabalhos durante as aulas) e com trabalhos a serem entregues pela internet/classroom depois de cada apresentação

As aulas e as avaliacoes sincronas serao ao vivo (e gravadas) pela internet.

As avaliacoes serao feitas de forma continuada:
com diversos trabalhos que valem nota individualmente e compondo a media ponderada final do aluno no curso.

Os alunos confirmaram poder assitir as aulas sincronamente e usar a internet para isso no primiero dia de aula do semestre.
Caso haja casos excepcionais de inviabilidade tecnica (durante alguma apresentacao especifica),
sera acordado alguma forma de haver a apresentacao assim que o problema tecnico
(do docente ou do discente), for resolvido.
Neste caso os mecanismos para o tratamento das situacoes excepcionais terao divulgação previa de 3 dias.
Pelo levantamento feito na primeira aula,
nenhum aluno relatou dificuldade de acesso sincrono,
mas caso essa condincao mude no decorrer do curso,
devem entrar em contato conosco, como recomendado pelo TCC/UFF.

Periodo letivo 2021 / 1


O primeiro semestre de 2021 ocorrerá entre 14 de junho e 25 de setembro de 2021.


Alunos inscritos


Notas Alunos Aprovados


[Tópicos do Curso] [Aulas gravadas] [Grupos de Pesquisa] [Referências Bibliográficas] [Trabalhos Pre Pandemia] [Ferramentas]



Atividade de 2021 / 1

AS - 1 -enunciado Aplicações da Computação Grafica Gerativa ou Vetorial e a Ciencia da Computação (apresentação em PPT individual).

AS - 2 -enunciado Como seria o seu "Hello World" ? (em PPT individual e implementação).

AS - 3 -enunciado "Filling the gaps" (em PPT individual e implementação).

AS - 4 -enunciado "Transformando os objetos 2D" (descrito pelos colegas na AS2): agora voce implementa a teoria da AS3. Apresentação/entrega 22-07

AS - 5 -enunciado "Todas as possiveis formas de desenhar objetos 3D no plano" : como voce mostra seu objeto na tela? Apresentação/entrega 29-07

AS - 6 -enunciado "Todas as formas e todos os objetos 3D" : cada um usa uma projeção diferente ! (A/e 10-08)

AS - 7 -enunciado "Desenhando só o que se vê dos objetos 3D" (A/e 17-08)

Exemplo de trabalho !

AS - 8 -enunciado "Tonalizando cada face de acordo com a iluminação da cena" (A/e 26-08)

AS - 9 -enunciado "Escolha um destes temas de realismo e o exponha em sala" (A/e 14-09)

SS - 10 - assista: de onde vem os quaternios

SS - 11 - assista: um elemento do R4

SS - 12 - leia: usando em rotacoes

SS - 13 - veja: gimbal lock

SS - 14 - assista: interface amigavel !

Material em pdf usado nas aulas

Tema 1 - Vetorial x Matricial

Tema 2 - Estruturas de dados para CG

Tema 3 - Desenvolvimentos

Tema 4 - Transformacoes parte 1 - parte 2 - parte 3- parte 4- parte 5

Tema 5 - parte 1 - Desenhando em 3D no 2D

Tema 5 - parte 2 - Persistencia visual e animacao

Tema 5 - parte 3 - Espacos de cores e visao colorida

Tema 6 - Realismo parte 1 - parte 2

Tema 7 - parte 1 - Quaternios

Tema 8 - parte 1 - Modelos de Iluminacao locais

Tema 9 - parte 1 - Modelagem de solidos

Tema 10 - Curvas em CG


2020 /1

Aulas gravadas

(durante a pandemia de COVID-19)
todas disponiveis no classroom da turma

data / assunto

Quando houver divergencia de data de entrega: a data posterior tem prioridade .

27/04/2021
Bezier
TEMA
10
parte 3
29/04/2021
AS 8
Curvas
e
Ani-
macao
04/05/2021
AA 4
Splines
e
super
ficies
06/05/2021
AS 9
Como ter
formas
fixas de
formas livres
11/05/2021
Duvida
em
qq
nota
06/04/2021
AS 5
Coord.
homo-
geneas
?
08/04/2021
AS 6
Combi-
nando
tranfor-
macoes 2D
13/04/2021
Curvas
TEMA
10
parte 1
15/04/2021
AS 7
Transfor.
genericas
e outras
20/04/2021
Curvas
TEMA
10
parte 2
18/03/2021
AS 3
Apre-
sentacao
vet.x
matr.
23/03/2021
AS 3
Apre-
sentacao
vet.x
matr.
cont.
25/03/2021
AS 4
Apre-
sentacao
Trans.
Element.
30/03/2021
AS 4
Cont.
01/04/2021
AA 2
Como
fazer
Combi-
nacoes
genericas
02/03/2021
Render
TEMA 8
parte1.3
Phong
Shading
04/03/2021
AS 1
apresent.
(tema 5
parte 3 )
09/03/2021
AS 1
discucao
notas
11/03/2021
Modelagem
de
Solidos

B-rep
16/03/2021
AS 2
apre-
sentacao
implement.
Shadings
04/02/2021
Cores
TEMA5
parte3.1
(Visão
colorida)
09/02/2021
Cores
TEMA5
parte3.2
(RGB,
CMYK)
11/02/2021
Cores
TEMA5
parte3.3
(Espaços
de cores)
23/02/2021
Render
TEMA 8
parte 1.1
iluminação
local
25/02/2021
Render
TEMA 8
parte 1.2
flat
shading
01/12/2020
Avaliacoes
26/11/2020
Apr.
Trabalhos
24/11/2020
Animacao
Persistencia
visual
TEMA 5
parte 2
(a 2 m)
19/11/2020
trabalhos
alunos
apresent.
17/11/2020
Realismo
TEMA 6
parte 1
Sistemas
Coordenadas
12/11/2020
Mudanca
de Bases
Ou sist. de
coordenadas
TEMA 4
parte 5
10/11/2020
Projecoes
Paral.
TEMA 4
Obliquas
part.4
5/11/2020
Proj. Paral.
TEMA 4
Ortograficas
Axometricas
parte 4
3/11/2020
Projecoes
Paralelas
TEMA 4
Ortograficas
parte 4
29/10/2020
Como fazer
Perspectivas
TEMA 4
parte 3
27/10/2020
Como fazer
Projecoes
TEMA 4
parte 3
22/10/2020
Sistema
visual +
Transf. 3D
(a 25 m)
20/10/2020
Trab.alunos
Visao 3D
TEMA 5
parte 1
(a 1h 1m)
13/10/2020
Combinando
Transf.
C. Homog.
TEMA 4
parte 2
8/10/2020
Coord.
Homogeneas
TEMA 4
parte 2
6/10/2020
Hist.+
Trab.alunos
T. Element.
TEMA 4 p.1
(a 1h 5m)
1/10/2020
Historico
ap. alunos
TEMA 3
29/09/2020
Historico
ap. alunos
TEMA 3
22/9/2020
Modelagem
TEMA 2
17/9/2020
vetorial
x
matricial
TEMA1

Exemplo de possibilidades:

Historia da CG (com a linha do tempo das tecnologias em 2020): https://edisciplinas.usp.br/pluginfile.php/3356750/mod_resource/content/0/Aula%206.pdf

Problema de sombreamento no Quake III: https://en.wikipedia.org/wiki/Fast_inverse_square_root

Loja oficial da bHaptics: https://www.bhaptics.com/

https://webglsamples.org/
https://observablehq.com/

Atividade de 2020 / 1

AS - 1 enunciado - Modelos de Cores

AS - 2 enunciado - Shading constante x interpolação de intensidade

AS - 3 enunciado - Vetorial x Matricial caracteristicas de ambos.

AS - 4 enunciado - Transformacoes Elementares Bidimensionais

AS - 5 enunciado - Coordenadas homogeneas (significados e aplicacoes) ?

AS - 6 enunciado - Como se combinam transformacoes Bidimensionais

AS - 7 enunciado - Como fazer Transformacoes Genericas - Gabarito

AS - 8 enunciado - Animacoes e Curvas

AS - 9 enunciado - Gerar Esferas e Circulos ?


AA 1 - 2020-2 ( 16 e 18, fevereiro, 2021)

  • Ler no livro texto os assuntos correspondentes e assistir as aulas gravadas (data - conteudo - tema no curso) : (1) 17-9-2020 / Representação vetorial e matricial / TEMA1; (2) 04-02- 2021 / Visão colorida / TEMA5 parte3.1; (3) 09-02- 2021 / Representação por cores primarias / TEMA5 parte3.2; e (4) 11-02- 2021 / Diversos espaços de cores / TEMA5 parte3.3.

AA 2 - 2020-2 ( 01, abril, 2021)

  • Ler no livro texto os assuntos correspondentes e assistir as aulas gravadas (data - conteudo - tema no curso) : (1) 24-11-2020 / Animação & Persistencia visual / TEMA 5 parte 2 ; (2) xx-yy-2020 /Transformacoes de Coordenadas, Coordenadas Homogeneas e Mudancas de Base / TEMA 4 partes 1, 2, 5 .

AA 3 - 2020-2 ( 22, abril, 2021)

  • Ler no livro texto os assuntos correspondentes e assistir as aulas gravadas (data - conteudo - tema no curso) : (1) 20-10-2020 / Desenhando em 3D / TEMA 5 parte 1 (a 1h 1m); (2) xx-yy-2020 / Projeção & Perspectiva / TEMA 4 partes 3 e 4.

AA 4 - 2020-2 ( 05, maio, 2021)

  • Ler no livro texto os assuntos correspondentes a curvas e superficies e as aulas gravadas (deste conteudo no curso) para fazer adequadamente o ultimo trabalho: Como obter formas fixas (por exemplo as elipses) das curvas de formas livres?

Notas 2020-2(2021)

As avaliacoes podem ser sincronas (na forma de apresentacao de trabalhos durante as aulas) ou assincronas (trabalhos a serem entregues pela internet)

As aulas e as avaliacoes sincronas serao ao vivo (e gravadas) pela internet.

As avaliacoes serao feitas de forma continuada:
com diversos trabalhos que valem nota individualmente e compondo a media ponderada final do aluno no curso.

Os alunos confirmaram poder assitir as aulas sincronamente e usar a internet para isso.
Caso haja casos excepcionais de inviabilidade tecnica (durante alguma apresentacao especifica),
acorda-se alguma forma de haver a apresentacao assim que o problema tecnico
(do docente ou do discente), for resolvido.
Em avaliacoes sincronas: mecanismos para o tratamento de situacoes excepcionais tem divulgacao previa de 3 dias.
Pelo levantamento feito na primeira aula,
nenhum aluno relatou dificuldade de acesso sincrono,
mas caso essa condincao mude no decorrer do curso,
devem entrar em contato, como recomendado pelo TCC/UFF.

notas 2020-1 - ver notas



Anos anteriores

2019/2

Aula 1 - Aula 2 - Aula 3 e 4 - Aula 5 a 7 - Aula 9 e 10 - Aulas 11 e 12 - Aulas 13 a 15 - Aula 16 - Aula 17 - Aula 18 - Aula 19 - Aula 20

Gabarito das Provas:

P1- P2

Notas Finais:

obter notas

Datas importantes 2019/2 :

P1 - 19/09/2019

T1 - 10/10/2019

P2 - 19/11/2019

T2 - 03/12/2019

VS - 10/12/2019, revisao e fechamento de todas as notas

Como entregar o trabalho T1:

Fazer um video do programa em funcionamento como esse abaixo
Exemplo de um dos trabalhos:
Mandar o endereco de onde estao todos os arquivos finais importantes para se executar e ver o codigo do trabalho
como por exemplo esse do Google Drive que segue:
https://drive.google.com/open?id=19iDSobeTXWw65cF916g9uWGE6wFW-J0u
nele devem estar todos os arquivos ( como os HTML + CSS + JS ) do exemplo como esse:
Ou fazer um arquivo unico com o tudo o que for preciso para rodar embutido nele e enviar para a prof. como por exemplo:

este que voce executa aqui e baixa ao lado: http://www.ic.uff.br/~aconci/curvas.zip

Ao entregar o trabalho T2 (enunciado na Aula 17):

Alem da forma feito na T1, inclua um video mostrando onde esta no codigo os elementos pedidos no enunciado do trabalho
para ficar mais claro veja esse exemplo onde no vídeo se indica detalhes da implemetacao:

https://youtu.be/6Z1FK-LlEy8







Aulas 1 e 2 - Aula 3 - Aula 4 - Aulas 5 e 6 - Aula 7 - Aula 8 - Aulas 9 e 10 - Aulas 11 e 12 - Aulas 15 e 16 - Aula 17 e 18 - Aula 19 - Aula 20 - Aula 22 - Aula 23 - Aula 24- Aula 25

Aula 13 e 21 - Demo partes do Trabalho 1: 16/05/2019 e 04/06/2019- quinta

Aula 14 - P1 - ver gabarito


Aula 26 - P2 - ver gabarito - notas

notas finais trabalhos e provas

VS: 18/07/2019


[Tópicos do Curso] [Grupos de Pesquisa] [Referências Bibliográficas] [Trabalhos] [Exercicios] [Ferramentas]


Avisos Turma 2018/2:

Implementacao 1-2018 (enunciado)

Implementacao 2-2018 (enunciado) - entrega adiada para 23/11/2018

Implementacao 3-2018 (enunciado) opcional

P1: 28-09-2018 - gabarito P1 de CG-2018-2

P2: 28-11-2018 - gabarito P2 de CG-2018-2 ( parte 1 )


turma 2018-2

Aula 1 - Aula 2 e 3 - Aula 4 - Aula 5 - Aula 6 - Aula 7 - Aula 8 - Aula 9 - Aula 10 - Assuntos P1

Aula 11 - Aulas 12 a 14 - Aula 15 - Aula 16- Aula 17- Aula 18 - Assuntos P2

Estudando para a P1 por Perguntas

Estudando para a P1 por Exercicios

Lista de exercicios para a P2




Exercicio 1 - Exercicio 2 - Exercicio 3 - 2018/1


Turma 2017/2

Aula 1 - Aula 2 - Aula 3 e 4-

Aula 5 - Aula 6 e 7 - Aula 8-

Aula 9 - Aula 10 - Aula 11-

Aula 12 - Teste 6 - Aula 13-

Aula 14 - Aula 15 - Aula 16-

Aula 17 - Aula 18 - Aula 19-

Aula 20 - Aula 21 - Aula 22-

Ultimo Teste 2017

Penultimo Teste 2017

AntePenultimo Teste 2017

Quarto Trabalho de Programacao: 07/12

Terceiro Trabalho de Programacao: 30/11

Texto do Quarto Trabalho Pratico de 2017 / 2 !

Texto do Terceiro Trabalho de Programacao:de 2017 / 2 !

Texto do Segundo Trabalho Pratico de 2017 / 2 !

Texto do Primeiro Trabalho de Programacao: 2017 / 2 !


Notas do trabalho de Programacao: na Aula 8!


[Tópicos do Curso] [Grupos de Pesquisa] [Referências Bibliográficas] [Trabalhos] [Ferramentas]


2016/2 - Codigo:TCC00179

Confira suas notas no curso:Trab 1 , Trab 2, Trab 3 e a Nota Final

A VS (oral) sera dia 23/01/2017 as 13 horas na sala 557

Para alunos com mais de 75% de presenca nas aulas

Aulas 2016-2

- Aula 1 -

Aula 2 -

Aula 3 -

Aula 4 -

- Aula 5 -

Aula 6 -

Aula 7 -

Aula 8 -

- Aula 9 -

Aula 10 -

Aula 11 -

Aula 12 -

- Aula 13 -

Aula 14 -

Aula 15 -

Aula 16 -

Aplicativo gratuito que gera mundos fractais: voce vai gostar!

Exemplos de "serius games" feitos por aluno da UFF usando CG :

Opcoes da Interface (para hapticos) em treinamento medico.

Insercao da Agulha - injecoes:.

Propriedades dos Tecidos do corpo humano: .

Detalhamento das Forcas e Pressao do liquido a ser inserido:

Rastreamento dos Movimentos do Aplicador:

Angulacao da agulha:

Uso da Seringa e Desafios do treinamento:

Qual o geno do corpo humano?

segue o link do video feito pelo Breno:

http://youtu.be/QkcryL4f6hE

Lembre de Nocoes Basicas de forma agradavel Geometria como game


Programa detalhado do curso:

(clique em cada um dos itens sublinhados abaixo para ver o que alunos dizem sobre o que aprenderam nas aulas relativas a estes itens no curso)


  1. Processamento, analise, sintese de imagens e visao de maquina . Hardware para CG e CV. Dispositivos de entrada , saida e iterativos.Comp. Graf. distribuida, em paralelo e na WWW.

  2. Primitivas Graficas. Formas de tratar as imagens: Vector x Raster. (bitmaps). Clipping. Aliasing-Antialising. Classificaçao e Aplicaçoes. Hierarquia. Projeto de Dialogo e Interaçao com o usuario.

  3. Armazenamento de Imagens. Formato Matricial x Vetorial. Resolucao espacial e profundidade de cores. Sistemas de cores aditivas (videos) : RGB, HSV, HLS, YIQ , XYZ, CIE-Lab e Oponentes. Sistema de cores subtrativas (em impressoras e objetos que refletem luz): CMY, CMYK . Transformacoes entre Espacos de Cores. Sistemas usados na industria : PANTONE, MUNSELL, SCOTICK. Sistema de cores usados na transmissao de TV. O sistema visual humano. Porque para o ser humano cores tem 3 elementos. Como percebemos cores . Teorias da percepcao de cores. Aula de cores

  4. Curvas. Interpolaçao de curvas por Lagrange e Mininos Quadrados. Geracoes de curvas por: Hermite, Bezier e Splines. Superficies (representacao analitica). Slides Capitulo 3 livro texto

  5. Solidos. Estruturas de Armazenamento. Modelagem de Solidos. Representacao por: Faces poligonais; CSG (demo:IMPA); Operacoes Boolenas Regularizadas e Solidos regularizados. Sweep: deslizamento,rotaçao, generalizada (demo:RS). Tesseletion/tiling. Solidos Realizaveis. Equacao de Euler-Poincare. Modelagens Avancadas: Fractal: L-systems. Modelagem por Sistemas de Particulas, Flocks e Boids. Exercicios para ultima prova

  6. Transformaçoes bidimensionais - 2D e tridimensionais - 3D . Mudança de escalas, rotaçoes e translaçoes. Projeçoes e Perspectivas. Combinaçao de Transformaçoes. Coordenadas homogeneas. Detalhes a lembrar sobre transformacoes em CG. Rotacao de Euler em torno de um eixo e ponto generico. Pontos de Fuga. Problemas com rotacoes em 3D e como resolve-los: quaternios. Aula 3,4 e 5(2014). Exercicios

  7. Warping e Morphing.Animacoes: Inbetween. DK- Direct Kinematics e IK- Inverse kinematics. Synthetic actor. Motion Capture. Animacao Facial.Grupos de Pesquisa e ferramentas para programacao.

  8. ( Slides do Capitulo 7 livro texto ) Camera virtual, pipeline visualizacao. Eliminacao de faces escondidas. Hidden Lines e Surfaces.Z-Buffer. Rasterizacao. Realismo Visual.Modelos de Iluminacao: modelos simplificados de CG (Phong), modelos com bases fisicas. BRDF(Funcoes Bidirecionais de Distribuicao de Reflectancia): modelos de He-Torrance(1991)- Westin-Torrance(1992)-Tecnicas de representacao. Ray-Tracing . Radiosidade . Texturas: MipMap, bump map, solid textures, light map, environment map, outras. Efeito de Reflexao. Hiper-Realisno .
  9. Seminarios e Reconstrução a partir de imagens de tomografica Bibliotecas, Tools, Engines: Python, DirectX, Java 3D, VRML, XML, X3D, OpenGL : Bibliotecas e demos. Site do Blender, Site brasileiro de Blender com forum , Baixar modelos . Apostila de Blender Inicial.


Espaco de Cores RGB/CMY:
Girando em torno do eixo de cinzas:BW
Repartindo-se em torno do eixo BW
Repare a variacao de tons de cinza
Dividindo-se em planos paralelos aos limites
Repare a variacao de tons


[Tópicos do Curso] [Referências Bibliográficas] [Trabalhos]

Referências Bibliográficas:

  • E. Azevedo, A. Conci, C. Vasconcelos, Computação Gráfica: teoria e prática, Elsevier, vol. 1 ; 2018 - Rio de Janeiro. adotado no curso!!!
  • Alan H. Watt, Fabio Policarpo - The Computer Image , Addison-Wesley Pub Co (Net); 1998- ISBN: 0201422980 , referencia na biblioteca do CTC: 006.6 W344 :AMAZON - adotado no curso!!!
  • Alan H. Watt, Fabio Policarpo - 3D Games - Real-time Rendering and Software Techonology, Addison-Wesley Pub Co (Net); 2001- ISBN: 0201 -61921-0, :AMAZON - indicado para o curso cap 1 a 12
  • J. D. Foley, A. van Dam, S. K. Feiner, J.F. Hughes. Computer Graphics- Principles and Practice, Addison-Wesley,1990.ISBN:0-201-12110-7 BCTC/UFF
  • Vera B. Anand, Computer Graphics and Geometric Modeling, John-Wiley,1993. BCTC/UFF - 006.6 A533 1993
  • Conway, John; Smith, Derek A.. (2003), On Quaternions and Octonions: Their Geometry, Arithmetic, and Symmetry, A. K. Peters, Ltd
  • Edward Angel, Interactive Computer Graphics- A Top-Down Approach with OpenGL, Third Edition, Addison Wesley, Boston, 2003 - ISBN 0-201-77343-0
  • G. Farin, D. Hansford, The Geometric Toll Box for Graphics and Modeling, A.K. Peters,1998. ISBN 1-56881-074-1, BCTC/UFF - 006.6 F225 1998
  • G. Farin, Curves and Surfaces for CAGD a Practical Guide, Academic Press, 1997. ISBN 0-12- 249054-1, BCTC/UFF - 006.6 F225 1997
  • C.M. Hoffmann. Geometric and Solid Modeling: an introduction, MorganKaufmann,1989. ISBN 1-55860-067-1, BCTC/UFF - 006.6 H711 1989
  • Allan Watt - 3D Computer Graphics - Addison-Wesley Pub Co; ISBN: 0201398559 - 3rd edition, 2000.
  • R.A. Earnshaw and N. Wiseman - An Introduction Guide to Scientific Visualization, Springer Verlag, Berlin, 1992
  • John Corrigan - Computer Graphics- Secrets &Solutions, Sybex, 1994
  • E. Tufte - Envisioning Information, Connecticut, Cheschire, 1990
  • R. Balakrishnan, A textbook of Graph Theory, Universitext, ISBN 0-387-98859-9, 1999, US$ 60,00
  • V.F. Kolchin, Random Graph, Cambridgr Press, 1998, ISBN 0-521-44081-5, US$ 80,00
  • N.M. Thalmann and D. Thalmann, Computer Animation, theory and practice,Springer Verlag,1990,2nd Ed.ISBN 4-431-70051, BCTC/UFF 006.6 96 T 365 1990
  • Allan Watt and Mark Watt, Advanced Animation and Rendering Techniques: Theory and Practice- Addison-Wesley Pub Co; BCTC/UFF - 006.6 W 344 C 1992- ISBN: 0-201-54412-1(1994).
  • Marc Berger , Computer Graphics with Pascal - Benjamin Cumming Pub. Co.; BCTC/UFF - 005.133 B496 C 1986- ISBN: 0-8053-0790-7.
  • Oliver Faugeras , Three-Dimension Computer Vision - MIT Press; BCTC/UFF - 006.37 F259 1993- ISBN: 0-262-06158-9.
  • Szymon Rusinkiewicz, "A Survey of BRDF Representation for Computer Graphics", 1997 - Modelos de Iluminação paper. com bases fisicas e banco de BRDF
  • renderizador: http://toxicengine.sourceforge.net/ - para iluminacao global ..
  • Radiosidade:
    1. http://www.flipcode.com/tutorials/tut_rad.shtml
    2. Part II : http://www.flipcode.com/tutorials/tut_rad02.shtml
  • games:OpenGl do Luis Valente - site: http://www.ic.uff.br/~lvalente


      • Bib. Auxiliar e Ferramentas para Construir seus Programas:

        • Coordenadas Homogeneas, Transformacoes, Projecoes, Areas e Volumes texto em eps - (3391 Kb) 14 pp. ou o mesmo texto em pdf - (248 Kb) 17 pp.
        • Detalhes de HTML: em portugues e em Ingles , HTMLPrimer e Guide HTML e W3C .
        • Documentos para JavaScript: no Netscape , e no Explorer .
        • download do GhostScript. - para ver os textos acima.
        • OpenGL:
          Bibliotecas e demos. 7 pontos basicos.
          SGI 's OpenGL Optimizer - http://www.sgi.com/software/optimizer
          SGI 's OpenGL Optimizer - white paper: http://www.sgi.com/software/optimizer/whitepaper.html

          Dicas do Rodrigo Leite:
          - um bom tutorial de OpenGL ... la existem exemplos simples para iniciantes: http://www.ingleza.com.br/opengl/
          - Se alguem quer conhecer algo mais incrementado, podera conhecer um site que nao fala somente de OpenGL...: http://www.unidev.com.br/

        • VRML - Virtual Reality Modeling Language: http://www.web3d.org/
        • MS Direct3D : http://www.microsoft.com/dirextx/dxm/help/d3drm/
        • Java3D: http://java.sun.com/products/java-media/3D
        • Para Cenarios- RMScenegraph: http://www.revis.com/RMSceneGraph
        • Openscenegraph - http://www.openscenegraph.org
        • Ray Tracing News Guide ?
        • texturas: http://www.fantasticarts.com/textures/planet.htm
        • BRDF
        • Ray tracing:
          http://www.sci.utah.edu/stories/2002/sum_star-ray.html
          http://www.cs.utah.edu/vissim/projects/raytracing/
          http://www.cl.cam.ac.uk/Teaching/1998/AGraphics/l1a.html
        • Environment mapping:
          http://msdn.microsoft.com/library/en-us/directx9_c/directx/graphics/programmingguide/advancedtopics/PixelPipe/envmap/environmentmap.asp
        • Texture mapping: http://www.visionengineer.com/comp/texture_mapping.shtml
          http://www.visionengineer.com/comp/texture_mapping.shtml
          http://webreference.com/3d/glossary/texture.html
        • bump map:
          http://webreference.com/3d/glossary/bump.html
          http://www.visionengineer.com/comp/bump_mapping.shtml
        • mip map:
          http://whatis.techtarget.com/definition/
          http://www.visionengineer.com/comp/mip_mapping.shtml
          http://www.meko.co.uk/mipmap.shtml
        • noise based texture maps:
          http://www.cdt.luth.se/pvt/courses/graphics2001/amt.ppt
          http://www.siggraph.org/education/materials/HyperGraph/mapping/r_wolfe/r_wolfe_mapping_6.htm
          http://users.info.unicaen.fr/~karczma/arpap/texturf.pdf
          http://www.3dgate.com/tools/001030darktree.html
        • Fractal texture description:
          http://www.icaen.uiowa.edu/~dip/LECTURE/Texture1.html
          http://www.redbrick.dcu.ie/~bolsh/thesis/node4.html
        • light maps:
          http://www.tomshardware.com/graphic/20000427/geforce2-06.html
          http://www.opengl.org/developers/code/sig99/advanced99/notes/node131.html
        • The Computer Vision Industry:This page provides information on some commercially successful applications of computer vision with pointers to company home pages.

        • Cursos de outras universidades:

          (sempre que encontrerem um que vale a pena se visitar, me avisem !)


          [Tópicos do Curso] [Referências Bibliográficas] [Trabalhos]


          Grupos na area de Animacao:
          • Univ. Pennsylvania - Centre for Human modelling and Simulation
          • Swiss Federal Institute of technology -Computer Graphics Lab
          • Univ. Toronto- Dynamic Graphics Project.
          • Univ. Georgia - Graphics, Visualisation and Usability Center
          • New York Univ. -IMPROV project
          • Univ. California- Inst. Creative Technologies
          • Univ. Manchester- Manchester Visualization Centre
          • Univ. Geneve- MIRALab
          • Univ. Caenegie-Melon-Oz project
          • Iniv. Calif. Santa Cruz- Perceptual Science Lab
          • Microsoft Research. C. Persona Project
          • MIT Media LAb. - Synthetic Characters Group
          • Uni. Stanford - Virtual Theatre proj.

          • Trabalhos 2016:

            Terceiro Trabalho de 2016 :

            Parte 1 - Inclua no seu programa de desenhar superficies a estrutura de dados baseada em arestas comentada na aula 12, isso e : voce deve represesentar e depois mostrar a superficie gerada atraves de faces, limitada por lados e esses definidos pelos vertices que os limitam (mantendo sempre a mesma orientacao da direcao da normal de cada face) . Visualmente o trabalho pode ficar igual (antes voce so gerava a geometria), mas internamente ele tera uma estrutura de dados mais complexa que antes. Escreva uma mensagem dizendo o numero de faces, arestas e vertices gerados, atraves de uma frase na tela, como por exemplo: "Esse objeto tem XXX Vertices, XX Lados, X Faces". Verifique internamente se o numero maximo de cada um dos arrays destes elementos satisfaz a formula de Euler. Essa parte 1 nao e para ser entregue. Apenas para voce ir fazendo pois sera fundamental para o restante do trabalho.

            Parte 2 - Suponha que um lado do objeto tenha cor azul e o outro cor verde. Considerando as faces que definiu na parte 1, varie o tom (sobreamento) das faces dependendo do lado da superfice em que estiverem. Calcule o tom de cada face pelo modelo de shading constante baseado na lei de Lambert supondo que alem da luz ambiente exista uma luz direcional no plano XY que faz um angulo de 45 graus com o eixo X se seu numero na lista de chamada for par, e de 135 graus com o eixo X, se seu numero for impar. Elimine partes invisiveis adequadamente, pela tecnica que julgar apropriado. Inclua um comentario no seu codigo fonte dizendo porque a tecnica, e na sua tela, ponha uma linha dizendo o nome da tecnica de hidden ou culling que esta sendo usada para mostrar o objeto (use a nomenclatura da aula 14).

            Parte 3 - Usando a mesma direcao de luz implemente um sombreamento suave no objeto segundo o processo de sombreamento de Gouraud ou Phong, baseado no seu numero na lista de chamada ser par (Phong) ou impar (Gouraud). Lembre que para ter o valor da normal `a superficie em um ponto pode ser tambem usada a sua curva geradora.

            Parte 4 - Implemente a rotacao do objeto em torno DA DIRECAO DA luz direcional definida na Parte 2 (essa rotacao pode ser apenas com a figura em "wire frame" ).

            Embora voce ja saiba: Lembre que nao deve haver 2 trabalhos semelhantes na turma, ou copiados pela internet de outras fontes. Voce deve enviar a Parte 2 do trabalho para o monitor do curso "rhcmelo@gmail.com" ate o dia 02/01/2017 . Ponha no subject de sua e-mail CG-2016-Trab3Parte-1e2-SeuNome-SeuSobrenome-NumeroListaAlunos. O restante do trabalho pode ser enviado ate 16/01/2017. Mande os codigos (incluam juntamente todos os arquivos para que o executavel rode numa maquina que nao possui o compilador que voce usou) e o .exe . Troque a terminacao .exe por .cg3 antes de incluir na e-mail. Apenas os trabalhos com esses detalhes serao aceitos.


            Segundo Trabalho de 2016 :

            Implemente no seu programa de desenhar uma curva 2D, do trabalho 1, a opcao de transforma-la em uma superficie, sempre usando o minimo possivel de funcoes graficas predefinidas na linguagem que voce escolheu usar, com os seguintes requisitos adicionais para essa superficie ser gerada e mostrada na tela:
            1. Apos o desenho da curva (ou seu redesenho a partir de um arquivo) deve ser perguntado ao usuario, se ele quer "ver a superficie gerada a partir da curva". Ai, se seu numero na lista de alunos for impar voce vai gerar a superficie a partir da curva por revolucao (isso e por rotacao) de ate 30 graus em torno de um eixo vertical que passe pelo primeiro ponto da curva, mais a esquerda da tela de desenho. Se seu numero na lista de alunos for par voce vai gerar a superficie a partir da curva por deslocamento dela em um eixo perpendicular as direcoes horizontais e verticais do usuario de ate 1/10 da maior distancia entre 2 pontos de controle (isso se chama "diametro" do convex hull) definidos pelo usuario na geracao da curva inicial.
            2. Para mostrar a superficie 3D em 2D (isso e projeta-la), voce vai usar pelo menos uma destas formas, de acordo com seu numero na lista de alunos ser igual ao resultado da operacao modulo 5 (veja que nao tem nada a ver com a expressao do trabalho 1) :
              - (4 = ) Projecao paralela isometrica;
              - (3 = ) Projecao perspectiva com ponto de fuga parecendo ser no eixo fora do plano, mas entrando na tela, e distante do plano de porjecao 30 vezes a maior distancia entre 2 pontos de controle definidos pelo usuario na geracao da curva inicial;
              - (2 = ) Projecao perspectiva com centro de projecao saindo da tela, no eixo fora do plano e distante do plano de projecao 40 vezes a maior distancia entre 2 pontos de controle (definidos pelo usuario na geracao da curva inicial);
              - (1 = ) Projecao paralela obliqua cabinet com o eixo fora do plano parecendo a 45 graus com a horizontal;
              - (0 = ) Projecao paralela obliqua cavaleira com o eixo fora do plano parecendo a 30 graus com a horizontal;
            3. Nao deve haver 2 trabalhos semelhantes na turma, ou copiados pela internet de outras fontes. Por isso os trabalhos passarao antes por um verificador de "copia" . Voce deve enviar o trabalho para o monitor do curso "rhcmelo@gmail.com" ate o dia 04/11/2016 . Ponha no subject de sua e-mail CG-2016-Trab2-SeuNome-SeuSobrenome-NumeroListaAlunos. Mande os codigos (incluam juntamente todos os arquivos para que o executavel rode numa maquina que nao possui o compilador que voce usou) e o .exe . Troque a terminacao .exe por .cg2 antes de incluir na e-mail. Apenas os trabalhos com esses detalhes e originais serao aceitos.

              Primeiro Trabalho de 2016 :

              Implemente um programa de desenho de uma curva 2D, em qualquer linguagem, usando o minimo possivel de funcoes graficas predefinidas na mesma, com os seguintes requisitos:
              1. O tamanho da area de desenho deve ser fornecido pelo usuario, em tempo de execucao. Deve poder ser em qualquer unidade de comprimento e de qualquer tamanho do plano, R2, que ele desejar. Possiveis distorcoes devido a relacao de lados, devem ser corrigidas pela sua implementacao. (Por exemplo a area de desenho que voce definiou pode ser de 100 x 200 pixeis. E o usuario disse que a dele e de 0 a 4 Km nas duas direcoes. Se o pixel de desenho for quadrado voce vai - deixar para um menu ou outra coisa uma parte da area da tela e - so usar para mapear 100x100 para nao ter distorcao no desenho do usuario. Ou dar outra solucao para que nao tenha distorcao devido ao mapeamento entre as coordenadas do Objeto e da area de vizualizacao do dispositivo usado.)
              2. Deve haver a funcionalidade do usuario marcar pontos na tela, referidas no sistema de coordenadas dele, e conhecer as coordenadas dos pontos que marcou, em seu sistema de coordenadas (Coordenadas do Objeto), de modo a verificar se os pontos que ele desejar foram exatamente marcados. Deve poder corrigir esse pontos se assim desejar. Deve haver a opcao de aparecer uma linha ligando os pontos na ordem em que foram desenhados, para que o usuario tenha a "ideia" de como a curva vai ficar, caso precise. Isso e chamado de "control graph".
              3. Deve poder desenhar pelo menos uma das curvas que seguem , gerenciadas pelos pontos que ele definiu. De acordo com seu numero na lista de alunos ser igual a 5n, 5n-1, 5n-2, 5n-3, ou 5n-4 (n=1,2,3,...) seu trabalho deve, pelo menos, poder desenhar:
                - (5n = ) Uma Curva de Bezier cubica;
                - (5n-1 = ) Uma Curva B-Spline cubica;
                - (5n-2 = ) Uma Curva de Bezier quadratica;
                - (5n-3 = ) Uma Curva B-Spline quadratica;
                - (5n-4= ) Uma Curva Spline que interpole os pontos;
              4. Deve existir no minimo a opcao do usuario: (1) salvar/redesenhar a curva , usando os pontos de controle que definiu e (2) ter tantas curvas no seu desenho quanto quiser.
              5. Nao deve haver 2 trabalhos semelhantes na turma, ou copiados pela internet de outras fontes. Por isso os trabalhos passarao antes por um verificador de "copia" . Voce deve enviar o trabalho para o monitor do curso "rhcmelo@gmail.com" ate o dia 06/10/2016 . Ponha no subject de sua e-mail CG-2016-Trab1-SeuNome-SeuSobrenome-NumeroListaAlunos. Mande os codigos (incluam juntamente todos os arquivos para que o executavel rode numa maquina que nao possui o compilador que voce usou) e o .exe. Troque a terminacao .exe por .cg1 antes de incluir na e-mail. Apenas os trabalhos cujos codigos passarem com indice adequado de "originais" serao aceitos.


              Trabalhos 2015:

              Notas2015

              Gabarito P1 2015


              Assuntos da VS 2015 = P2

              VS - 17/07/2015

              Trabalho 1 (2015)

              Primeiro Trabalho de 2015 : Pesquise uma tecnica de animacao com um colega!

              Cada grupo (dois alunos) deve escolher uma tecnica de animacao diferente e pesquisar sobre ela. Elaborando um texto sobre o assunto de no minimo 10 paginas.


              Depois deve montar uma apresentacao em ppt e a apresentar em sala de aula.
              Cada grupo deve considerar uma tecnica e forma de animacao diferente, isto quer dizer: "que ainda nao tenha sido mostrada ou escolhida como tema por outro" ( conforme indicado em uma lista que definimos em: lista de animacao).
              Na apresentacao inclua demostracoes e filmes sobre a tecnica de animacao, isso em um .ppt com um minimo de 10 slides que incluam: (1) o objetivo para o qual a tecnica foi criada e o que a diferencia como uma tecnica das demais, (2) como pode ser implementada, e suas aplicacoes, (3) o significado de seu nome e de cada elemento basico desta animacao, e (4) referencias bibliograficas.
              Envie por e-mail, texto escrito para a professora (todos os grupos) ate a data de entrega, isto e antes de apresentarem. O ppt pode ser enviado depois da apresentacao , no dia em o grupo apresentar. A nota tem 2 etapas, o texto escrito e a apresentacao.

              Entrega: 10/04/2015

              Apresentacoes de 30 minutos, em sala de aula apartir de 10/04/2015, nos ultimos tempos de aula. Serao apresentados pelo menos 3 trabalhos por dia , sorteados ou voluntarios.


              Segundo Trabalho de 2015 :

              Na proxima aula (24/04) vamos discutir e trabalhar em sala, valendo a nota do trab. 2, sobre os items do curso: " Transformacoes 3D", "Transformacoes do sistema de eixos", "Rotacoes 3D", "Perspectivas" e "Projecoes" (isto e : como representar coisas 3D no plano). Assim se prepare para isso entendendo o assunto para estar pronto para responder e formular questoes que levem voce a entender esses assuntos claramente. Em especial procure textos , isso e material escrito sobre projecoes em CG .


              Terceiro Trabalho de 2015 :

              Implementacao 1 (grupos de ate 4 individuos) - Entrega: 19/06

              Vamos aplicar os conceitos de transformacoes e animacoes aprendidos.
              Para isso, criaremos uma animacao a partir de um script pre-definido com base no numero de ordem na lista de chamada dos membros de cada grupo.
              Essa lista esta disponivel em http://www2.ic.uff.br/~aconci/CG.html clicando no item: Lista Alunos 2015.
              Na implementacao devem usar o Unity 4.6.5 e o project Hellicopter.
              A ideia e movimentar o Helicoptero ja modelado no projeto, usando um movimento fractal que o grupo vai programar e que e unico para cada grupo.
              Ao definir-se os nomes dos componentes do seu grupo , passe um e-mail para a prof. (para ela lhe dizer o resultado do sorteio) para receber pelo seu grupo uma das possibilidades de movimentos fractais no plano abaixo:
              1- Curva de Hilbert (ou Peano) de ordem 1, 2 ou 3
              2- Ilha triadic de Kock de ordem 1, 2 ou 3
              3- Ilha quadrica da Koch com ordens 1 ou 0
              4- Triangulo de Sierpinski ordem 0 ou 1
              5- Curva quadrica de Koch fechada de ordem 1 e 2
              6- Caminho da ilha de Koch aberto de ordem 2
              7- Curva quadrica de Koch de ordem 3 ou 2
              8- Caminho do triangulo de Sierkinski de ordem 1 e 2.
              A distancia total e as distancias parciais percorridas por esses movimentos no plano devem ser calculada por voces de forma que o helicoptero, em todo o tempo da animacao, permaneca dentro do terreno modelado no cenario, que aparece como um plano.
              Alem desse movimento no plano, o Helicoptero fara um movimento ascendente em que sua altura em cada etapa t da animacao sera dada pela seguinte equacao:
              Altura (t) = max (P4,P3,P2,P1) + min (P4,P3,P2,P1) t
              Onde Pi e o numero na lista de chamada de cada participante i do grupo.
              Para facilitar sua implementacao, recomendo que iniciem baixando o Unity e o projeto (os links estao abaixo).
              Depois criem o script em C Sharp - C# ou JavaScript JS (o que o grupo preferir).
              Alem disso, seguem algumas DICAs para quem nunca usou essa ferramenta para implementacoes de scripts:
              1. Para criar um script, voce deve abrir o project Hellicopter. Clicar na pasta script e depois dela aberta, com o botao direito selecionar a opcao: create/C# ou create/JS. Entao clicar 2x sobre o script para abrir o editor de scripts da Unity (MonoDeveloper). Com ele voce desenvolve o movimento pedido, usando variaveis do tipo Vector3 (x, y, z). Os atributos que voce declarar como publicos dentro da sua classe script se transformam automaticamente em propriedades configuraveis do objeto. Um script pode ser associado a um objeto qualquer (gameobject) dentro da Unity. Para isso, depois de escrever seu script no MonoDevelop, voc3 deve arrastar seu script para o objeto hellicopter, associando um ao outro.
              2. Para que seu script funcione voce deve antes desativar o script anterior que estava associado ao objeto Helicoptero: Cshellicopter
              3. Uma melhoria na visao do movimento do helicoptero e conseguida se voce criar uma spotlight e a usar para iluminar o helicoptero. Voce pode criar uma spotlight atraves do menu game: Object usando as opcoes: create other/spot light e depois associando (pendurando) ela no objeto de jogo hellicopter (arrastando-a na hierarquia dos objetos).
              Seguem abaixo os links para o download da ferramenta Unity e o projeto do Helicoptero:
              Unity3d Versao 4.6.5: Unity - Download Archive
              Projeto Helicoptero: https://www.assetstore.unity3d.com/en/#!/content/27229
              E links para entender os movimentos fractais pedidos:
              (http://www2.ic.uff.br/~aconci/Fractais.html ou http://www2.ic.uff.br/~aconci/aula1.html)
              http://www2.ic.uff.br/~aconci/CG.html - Modelagens Avancadas
              http://www2.ic.uff.br/~aconci/ModelagemFractaisParticulas.pdf


              Trabalhos 2014:

              Lista de notas 2014
              Ultimo Teste- 08/12/2014 ! (Quaternios, Modelagem e Animacao)

              Primeiro Trabalho - 2014 e seu Gabarito:


              Segundo Trabalho : Corrigir o trabalho 1 do colega , de acordo com o gabarito.
              Caso nao tenha recebido um trabalho para corrigir, entregue uma correcao e/ou critica ao gabarito (tudo o que voce resolver sugerir sera muito bem vindo!). Identifique-se como corretor!

              Entrega: 20/08/2014


              Terceiro Trabalho : Responder as questoes (em turquesa) ao longo do material da aula 4 (com interrogacoes - ? ou todas sugestoes para voce comentar!) Em caso de duvida use esse texto como o do Terceiro Trabalho.

              Entrega: 25/08/2014


              Quarto Trabalho : Corrigir o trabalho 3 do colega , de acordo com o gabarito.
              Identifique-se como corretor!

              Entrega: 01/09/2014


              Quinto Trabalho : Responder as perguntas relativas as aulas de 3 D, Projecoes e Perspectivas .

              Entrega: 08/09/2014


              Sexto Trabalho : Corrigir o trabalho 5 de um colega , de acordo com o gabarito.
              Identifique-se como corretor!

              Entrega: 15/09/2014


              Setimo Trabalho : Pesquise um espaco de cor (diferente do RGB, XYZ, CMY e CMYK) que ainda nao foi escolhido por algum colega conforme indicado em : lista de espacos. Prepare com isso uma apresentacao em .ppt com 4 slides que incluam a descricao de: (1) o objetivo para o qual o espaco de cores em descricao foi criado, (2) como se transforma uma cor deste espaco para o RGB, e se retorna dele para o RGB, (3) o significado de cada eixo deste espaco, e (4) referencias bibliograficas. Envie a parte escrita na data de entrega para a professora.

              Entrega: 24/09/2014


              Oitavo Trabalho : Finalize e envie por e-mail o seu objeto em wire frame. Em caso de duvida tente resolve-la assistindo aos videos do Prof. Virgilio Vasconcelos da UFMG (que trabalha com animacao 2D e 3D):
              Tutorial pontape inicial:
              Modelagem:
              Materiais, texturas e iluminacao:
              Controles ou Rigging:
              Animacao:
              Se mesmo assim sua duvida nao for esclarecida faca um e-mail com ela e envie para o Raphael: rrodrigues3d@gmail.com que sera feito um novo video esclarecendo a mesma ou ela sera respondida por e-mail mesmo.

              Entrega: 29/09/2014


              Nono Trabalho : Responder as perguntas relativas as aulas de Realismo .
              Veja que na bibliografia complementar (acima) que ha muito material relativo ao assunto alem do comentado em sala de aula. Busque tambem os diversos cursos de CG nao so no Brasil mas em todo o mundo!

              Entrega: 08/10/2014


              Decimo Trabalho : Incluir realismo no seu objeto!

              Entrega: 20/10/2014


              Decimo primeiro Trabalho : Formule e responda 10 questoes onde pelo menos 2 delas sejam numericas (Como em um teste em que voce mesmo fornece o gabarito das respostas). Sendo detas: 2 sobre quaternios, 5 sobre curvas e 3 sobre superficies!

              Entrega: 17/11/2014


              Decimo segundo Trabalho : Implemente a formula que gera uma curva de B-Splines em 2D. Use qualquer linguagem que queira. Envie por e-mail o executavel e o arquivo fonte

              Entrega: 10/12/2014



          voltar inicio

          dados do professor

          voltar linhas de pesquisa