Buscar

CG aula02 Retas v2 2017 2

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 29 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 29 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 29 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Computação Gráfica I
aula 02
Primitivas de Rasterização
Computação Gráfica I2
➢ O que devo usar para desenvolver aplicações gráficas ?
Bibliotecas Gráficas
Computação Gráfica I3
➢ Pipeline básico
Bibliotecas Gráficas
Processamento 
de vértices
Recorte e 
e combinação de
primitivas
Rasterização 
Produção de linhas
Processamento 
de fragmentos
Vértices
Pixels
Computação Gráfica I4
➢ Pipeline básico: processamento de vértices
➢ Vértices são processados independentemente.
➢ Transformações de coordenadas
➢ Determinação de cor para cada vértice.
Bibliotecas Gráficas
Computação Gráfica I5
➢ Pipeline básico: recorte e combinação de primitivas
➢ Primitiva = objeto –> linha ou polígono.
➢ Recorte: ajuste de cada primitiva ao campo de visão disponível.
➢ O recorte é executado em cada primitiva separadamente.
➢ As primitivas precisam ser criadas a partir dos vértices para 
serem aparadas.
Bibliotecas Gráficas
Computação Gráfica I6
➢ Pipeline básico: rasterização – produção de linhas
➢ As primitivas após o recorte ainda são fornecidas em termos de 
vértices.
➢ Rasterização: processo de converter as primitivas em informação 
de pixel – qual pixel pertence ao objeto e como deve ser pintado. 
➢ O resultado do processo de rasterização é um conjunto de 
fragmentos, um para cada primitiva.
Bibliotecas Gráficas
Computação Gráfica I7
➢ Pipeline básico: processamento de fragmentos
➢ Verifica entre os fragmentos aqueles que devem ser visíveis na 
janela (viewport)
➢ Verifica a profundidade
➢ Adiciona textura
➢ Adiciona efeitos de cor e iluminação
Bibliotecas Gráficas
Computação Gráfica I8
➢ Organização básica:
Bibliotecas Gráficas
Aplicação
Biblioteca Gráfica
(API)
Drivers
Computação Gráfica I9
➢ Organização básica:
➢ Biblioteca básica – API (Application Programming Interface).
➢ O que é uma API gráfica ?
➢Conjunto de funções ou classes que fornecem um interface 
para que os nossos programas possam acessar as facilidades
gráficas.
➢ Porque se utiliza uma API gráfica ?
➢ Evita o conhecimento de detalhes de hardware e software.
➢ Facilita o processo de desenvolvimento.
Bibliotecas Gráficas
Computação Gráfica I10
➢ Java 2D: é uma API para fazer desenhos em 2D.
➢ Java 3D: é uma API para 3D baseada na descrição da estrutura das 
cenas (grafos de cena).
➢ Java3D usa OpenGL ou DirectX para a renderização propriamente 
dita.
➢ É uma interface que permite o uso do paradigma de orientação a 
objeto.
Bibliotecas Gráficas - Java 2D/3D
Computação Gráfica I11
➢ É uma coleção de APIs desenvolvida pela Microsoft para 
desenvolvimento de aplicações em multimidia e jogos nas 
plataformas Windows.
➢ Lida com gráficos, som, entrada/saída, rede, etc.
➢ É específica para os sistemas operacionais da família Windows.
➢ Possui um bom desempenho no processo de renderização em 3D e 
poucos recursos para 2D.
➢ O principal pacote do DirectX é o Direct3D.
Bibliotecas Gráficas- DirectX
Computação Gráfica I12
➢ A Open Graphics Library foi desenvolvida pela Silicon Graphics.
➢ É uma API gráfica extremamente rápida para múltiplas linguagens 
de programação e múltiplas plataformas.
➢ Seu principal objetivo é servir de interface para aceleradores 
gráficos, escondendo os detalhes e a capacidade do hardware.
➢ Foi projetada para lidar com objetos 3D, mas também trata objetos 
2D.
➢ Não trata sons ou outros recursos multimídia (somente gráficos).
Bibliotecas Gráficas- OpenGL
Computação Gráfica I13
➢ Entrada:
➢Primitivas 2D
➢ Saída:
➢Coleção de fragmentos de pixels a serem pintados, 
juntamente com seus atributos (cor, profundidade, 
etc.)
Rasterização
Computação Gráfica I14
➢ w = largura do plano
➢ h = altura do plano
Rasterização
Computação Gráfica I15
➢ Mapeando o plano cartesiano (2D) em pixels:
Rasterização
Computação Gráfica I16
➢ Exemplo:
Rasterização
Computação Gráfica I17
➢ Exemplo:
Rasterização
Computação Gráfica I18
➢ Exemplo:
Rasterização
Computação Gráfica I19
UVA – Universidade Veiga de Almeida
Geometria Analítica
• Na definição Euclidiana, uma linha reta é a menor distância entre dois pontos.
• É um elemento unidimensional que possui comprimento, mas não largura.
Computação Gráfica
• Uma linha reta possui atributos de comprimento e espessura (ou seja, largura)
• Quando uma linha é desenhada na tela, uma série de pixels são distribuídos ao longo e
são ligados através da função primitiva de desenho de ponto.
• A série de pontos discretos não é suave: apresenta efeito gráfico de escada.
• Dependendo do tamanho de cada pixel, uma linha desenhada na tela mostrará uma
escada com mais ou menos degraus.
Reta Conceitos
Efeito escada
Computação Gráfica I20
Características dos algoritmos para desenho de linhas retas
• Limites - A linha reta deverá terminar precisamente, sem buracos entre o seu ponto
inicial e final (iniciam e terminam em pontos endereçáveis da tela).
• Continuidade - A linha reta deverá parecer uma reta contínua, embora inicie e
termine em pontos endereçáveis da tela, ela pode passar por pontos não
endereçáveis, o que significa que não têm representação gráfica, gerando uma
descontinuidade.
• Densidade - A linha reta deverá ter densidade constante, isto é os pontos devem
ser igualmente espaçados.
• Aspecto - A densidade da linha deverá ser independente de seu tamanho e ângulo.
• Rapidez - A linha reta deverá ser desenhada rapidamente.
Reta - Conceitos
Computação Gráfica I21
➢ Dado um segmento de reta entre P1= (x1, y1) e P2= (x2, y2) 
gostaríamos que a rasterização desse segmento tivesse as 
seguintes propriedades:
➢ Os pixels correspondentes às extremidades (P1 e P2 ) devem 
sempre ser renderizados;
➢ Os pixels atravessados pelo segmento de reta devem ser 
renderizados
➢ Na verdade, nem todos, apenas os mais próximos ao segmento;
➢ Espessura do segmento deve ser uniforme;
➢ Aparência do segmento deve ser linear e contínua;
➢ Rapidez na renderização.
Segmentos de Reta
Computação Gráfica I22
Propriedades de linha
• Estilo de linha - A prática usual é a utilização de uma variável inteira que contém
um padrão de bit. Este padrão é duplicado repetidamente ao longo da linha.
• Largura da linha (peso) - Pode ser obtida redesenhando-se a linha para vários 
deslocamentos. A melhor maneira é redesenhar a linha deslocada de 1 pixel de cada vez.
Reta - Conceitos
Computação Gráfica I23
Equação da Reta
• Seja uma reta PR e um ponto Q sobre ela. Considerando que os triângulos PAQ e
PBR são semelhantes, então:
B 
A 
B 
A 
Plado
Plado
Rlado
Qlado
 , isto é: 
12
1
12
1
xx
xx
yy
yy





 , logo:   11
12
12
yxx
xx
yy
y 



y2
y1
x1 x2
y
x
P
R
BA
Q
y - y1
y2 - y1
x2 - x1
x - x1

Reta - Conceitos
Computação Gráfica I24
Equação da Reta (cont.)
Comp Graf I - A Reta - Cap. 4
Colocando: Dx = x2 - x1 e Dy = y2 - y1 tem-se: 
  11 yxx
Dx
Dy
y 
 
Fazendo: a
Dy
Dx
 e 11 x
Dx
Dy
yb  , obtém-se: bxay  .
a
Dy
Dx
 = tang()
• O coeficiente a é denominado de coeficiente angular da reta e é representa a 
tangente do ângulo entre a reta e o eixo horizontal:
• O coeficiente b é denominado de coeficiente linear da reta, e representa o ponto 
de interseção da reta com o eixo vertical.
Computação Gráfica I25
Equação da Reta (cont.)
y = a x + b
Classificações da reta segundo o coeficiente angular a = DY / DX
• a > 0 (DY e DX com mesmo sinal) : reta crescente 
• a < 0 (DY e DX com sinais diferentes) : retadecrescente
• a = 0 (DY = 0) : reta horizontal
• a =  (DX = 0) : reta vertical
• | a | = 1 : reta com variações de x iguais que às variações de y
➢ Os eixos x e y possuem o mesmo movimento: | DY | = | DX |
• 0 < | a | < 1 - reta com variações de x maiores que as variações de y. 
➢ O eixo dos x é o de maior movimento: | DY | < | DX |
• | a | > 1 - reta com variações de y maiores que as variações de x. 
➢ O eixo dos y é o de maior movimento: | DY | > | DX |
Reta - Conceitos
Computação Gráfica I26
Equação da Reta (cont.)
y = a1x + b1
y’ = a2x’ + b2
• retas paralelas: a1 = a2
• retas perpendiculares: a1 = -1 / a2
Reta - Conceitos
Computação Gráfica I27
Equações Paramétricas da Reta
• A equação: y = a x + b não poderia representar linhas verticais (pois o
coeficiente a seria infinito).
• Os algoritmos anteriores são bastante rápidos e voltados para sistemas de
processamento de imagens em mapa de bits.
• Um algoritmo utilizando as equações paramétricas da reta é mais eficiente
para sistemas vetoriais, onde se faz necessário a determinação de pontos
notáveis tais como intercessão entre retas, etc.,
Reta - Conceitos
Computação Gráfica I28
Equações Paramétricas da Reta (cont.)
• Considere as equações:
• Para t = 0 tem-se: x = x1 e y = y1 (extremo do segmento)
• Para t = 1 tem-se: x = x2 e y = y2 (extremo do segmento)
• Para t = 1/2 tem-se: x = (x1 + x2) / 2 e y = (y1 + y2) / 2 (ponto médio da linha)
 
 tyyyy
txxxx
.
.
121
121


onde: t é um parâmetro que assume valores entre 0 e 1.
Reta - Conceitos
Computação Gráfica I29
Rasterização

Continue navegando