1 / 107

Material I-Bimestre

Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Introdução a Computação Gráfica (ICG). Material I-Bimestre

bill
Download Presentation

Material I-Bimestre

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Universidade do Vale do ParaíbaColégio Técnico Antônio Teixeira FernandesDisciplina Introdução a Computação Gráfica (ICG) Material I-Bimestre Primitivas Gráficas em 2D, Conceito de pontos pixel, Sistema de cores,linhas retas,Algoritmo DDA,Breseham,Linhas cores e espessuras, Traçando círculos e elipses,Coordenadas polares, preenchimento de áreas, transformações geométricas em duas dimensões, Tratamento Imagens BMP(Mapa de Bits) Site : http://www1.univap.br/~wagner Prof. Responsável Wagner Santos C. de Jesus

  2. Computação Gráfica (CG) • Vem a ser a forma de se fazer uma representação da realidade graficamente na resolução de computadores. • A CG vem auxiliando nas mais diversas áreas do conhecimento; facilitando a visualização e simulação de eventos sociais, culturais e científicos.

  3. Algumas áreas de atuação da computação gráfica • Engenharia – Simulação e CAD • Bioengenharia – Simulação de crescimento tumoral • Medicina – Sistemas de eletrocardiograma e Tomografias • Arte e Cinema – (Efeitos especiais e personagens). Representação de quadros e esculturas • Fotografia – Processamento de imagens • Geografia – Sistema informações geográficas • Arquitetura – Sistemas especializados em plantas de edificações. • Entretenimento e cultura – Jogos e vídeo games. • Matemática, Física e estatística.

  4. Simulação de crescimento tumoral Criação de texturas de pelos de animais Simulador de Gestação Criação de realidade virtual simulação de deslocamento humano. Imagem do leito de um rio em relevo

  5. Criação de modelagem orgânica digital Sistema de informações geográficas Simulador Neuro Cirúrgico Cena de Praça pública (CCRV) Auto-CAD – Arquitetura e Edificações (AutoDesk)

  6. Vista Lateral (Praça Publica CCRV)

  7. Entretenimento (Jogos em 2D) Tiro ao Alvo Corrida Estatística e Cinema Cinema cena do filme (toyStoy - 1995) -Estúdio: Walt Disney Pictures / Pixar Animation Studios Gráfico (Estatística)

  8. Desenho confeccionado em AutoCad 2D usando conceitos de primitivas básicas.

  9. Filme Shrek2004 - Produtora(s): DreamWorks SKG, Pacific Data Images (PDI) Simulação de Funcionamento de Máquinas usando modelo Virtual AutoDesk. Projeto trem de pouso aeronave

  10. Cena confeccionada pelos alunos André e Rafael – 2008 Software - CCRV

  11. Cena vista de outro ângulo Software - CCRV

  12. Caça F16 2009

  13. Caça F16 2009 (Francisco)

  14. Introdução aos métodos de Computação Gráfica em modo 2D.

  15. Primitivas Gráficas – 2D Chamamos de primitivas gráficas os comandos e funções que manipulam e alteram os elementos gráficos de uma imagem. Também entram na definição os elementos básicos de gráficos a partir dos quais são construídos outros, mais complexos.(Hetem Annibal Jr.,2006).

  16. Pontos • O ponto é a unidade gráfica fundamental e também pode ser chamada de pixel. Propriedades de um pixel : • Posição no plano gráfico (x,y) • Cor

  17. Representação de pixel • (x,y) preto (coordenada - y) (coordenada - x) Para se obter um pixel é necessário informar o par ordenado (x,y), que possibilita as coordenadas de linha e coluna onde será pintada a grade do vídeo; de acordo com a resolução especificada no sistema operacional.

  18. Eixo de coordenadas (800x600) ou (1024x768) 0 – Colunas - x y- Linhas - 0

  19. Sinal de vídeo Analógico Linha impar Linha par

  20. Exibição do vídeo O video é exibido lendo-se eletronicamente o sinal de vídeo e transformando-o no movimento do feixe de elétrons que varre a tela do monitor analógico.

  21. Vídeo Digital

  22. Pintando um pixel na práticausando C++ Builder Para se tratar elementos gráficos podemos usar um objeto denominado Canvas que possibilita usar primitivas gráficas. Canvas Ponto Linha Retângulo Elipse Arcos OBJETO

  23. Criando um ponto Para se desenhar um ponto usa-se a propriedade Pixels do objeto Canvas. Exemplo:Canvas->Pixels[x][y] = RGB(0,0,0); Onde x coordenada da coluna; e y coordenada da linha a função RGB determina a cor do pixel que será plotado na tela.

  24. Tons monocromáticos 0 127 255 0 255 Faixa de tons de cinza => C, portanto 0 <= C <= 255

  25. Intensidade – Imagens Monocromáticas

  26. Demonstração da Tabela RGB abaixo.RGB(0,0,0)

  27. Exemplo da criação de um ponto no vídeo - algoritmo Pintap(real : x,y,cor) inicio pixels[x][y] <- cor; fim

  28. Linhas Retas • Para se desenhar uma reta é necessário usar primitivas gráficas, onde as primitiva vem a ser um conjunto de algoritmos para se realizar elementos gráficos mais complexos.

  29. Conceito Matemático de reta Onde (m) Coeficiente ângular em relação ao eixo x. Ângulo entre 0º e 45º com eixo x, o Coeficiente linear b dá o valor do eixo y. se se Ângulo entre 45º e 90º com eixo x. Dados dois pontos no plano P1 e P2, pode-se obter m e b da seguinte maneira. (2) (1)

  30. As formulas (1) e (2) serão base para construir os algoritmos de retas

  31. DDA – Digital Diferencial Analyser(Analisador Diferencial Digital) Trata-se de um algoritmo que respeita as equações de coeficiente angular e linear mostrados anteriormente; Porem esse algoritmo torna-se ineficiente em alguns caso mostrando uma certa descontinuidade nas retas desenhadas.

  32. Algoritmo DDA (codificado) Exemplos valores (x0,y0)-(x1,y1) retaDDA( real : x0, y0, x1, y1) Inicio dx <- x1 - x0 dy <- y1 - y0 x <- x0 y <- y0 s <- 0 se (dx > dy) entao s <- dx senao s <- dy fim_se xi <- dx / s yi <- dy / s Pintap( x,y, cor) Para x de 0 ate s faca x <- x + xi y <- y + yi Pintap( x,y, cor) fim_para fim (500,100) (100,100) (100,200) (300,600)

  33. Breseham Esse algoritmo baseia-se no argumento de que um segmento de reta, ao ser plotado, deve ser contínuo, os pixels que compõem o segmento devem ser vizinhos; Isso fará com que os pontos das retas sejam próximos não havendo separação entre os pixels pintados.

  34. Algoritmo de Breseham • Calcula-se • Calculam-se variáveis auxiliares: • Coloca-se nas variáveis o ponto inicial: x = e y = • Plota-se o ponto (x,y) • Calcula-se os parâmetros de decisão: • Se p for negativo então x = x + 1, passa-se para passo 8. • Se p for positivo ou zero, então x = x + 1, y = y + 1, • Repetem-se os passos 6 a 7 até que o ponto seja alcançado

  35. C++ Builder, Breseham Em linguagens modernas esse algoritmo já se encontra implementado e melhorado. Não havendo necessidade de uma nova implementação.

  36. Algoritmo retaBreseham (inteiro:x0,y0,x1,y1) Inicio MoverAte(x0,y0) PintarAte(x1,x1) fim

  37. Métodos para segmentos de retas MoveTo() : Determina o ponto inicial para um segmento de reta. Exemplo : Canvas->MoveTo(x0,y0);

  38. Método:LineTo(): Determina o ponto final para o segmento de reta. Exemplo : Canvas->LineTo(x1,y1);

  39. Exemplo Prático Canvas->MoveTo(100,100); Canvas->LineTo(100,200); (100,100) (100,200)

  40. Espessura de uma linha Propriedade : Pen Permite ativar a caneta gráfica; em conjunto com Width que determina espessura de um seguimento de reta. Exemplo : Canvas->Pen->Width = x ; Espessura

  41. Cor da linha (Color) Propriedade : Color determina a cor da linha usando padrão RGB(). Exemplo : Canvas->Pen->Color = RGB(255,0,0);

  42. Tipos de linhas Para usar os tipos de linhas usando objeto Canvas implementado em C++, usa-se as propriedades Pen,Style; determina o tipo de linha que será usada em uma figura. Sintaxe : Canvas->Pen->Style = <Estilo da linha>;

  43. Estilos da Linha

  44. Criando um retângulo Método Rectangle() : Cria um retângulo com a indicação de dois pontos. Exemplo : Canvas->Rectangle(5, 5, 100, 50);

  45. Círculos e Elipses

  46. Círculos Traçado de um círculos: Um circulo vem a ser um conjunto de pontos que estão a uma mesma distância de um ponto; essa distância é também chamada de raio. E o ponto distante de todos os outros é o centro. Raio Obtemos a seguinte definição. Centro Essa definição não tem como ser usada em computação gráfica.

  47. Definição válida para a computação gráfica. y =f(x) ou x = g(y), Isolando-se as variáveis teremos g(y) f(x) Essa definição quando um segmento de círculo fica quase horizontal ou vertical um incremento e x ou y tornará o arco descontinuo.

  48. Para podermos criar um algoritmo que desenhe o seguimento circular devemos converte as expressões anteriores em coordenadas polares. Como função de raio e de um ângulo. Funções trigonométricas: É um ângulo que varia entre

  49. Precisão dependente do raio do círculo 3 2 4 1 5 8 6 7

  50. Algoritmo do segmento de arcos e círculos usando funções trigonométricas sentido horário. Xc, Yc – Centro Arco Raio – Distância do centro nos pontos que formam o arco Ti, Tf – valores iniciais e finais de Cor : poderá ser três variáveis inteiras para receber valores RGB. dArc(Inteiro:Xc,Yc, raio,Ti,Tf, cor) Inicio moverAte(Xc,Yc) para teta de Ti ate Tf faca x <- Xc + raio * cos(teta) y <- Yc + raio * sin(teta) Pintap(x,y,cor) fim_para fim Para forma um circulo deverá estar entre 0 e 2

More Related