Buscar

Lista de Exercícios Computação Gráfica

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 8 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 8 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

Prévia do material em texto

Primeira Lista de Exercícios Teóricos 
 
1) O que se entende por Computação Gráfica? Como essa área do                     
conhecimento se relaciona com as demais áreas correlatas, como, por                   
exemplo, Processamento Digital de Imagens? 
 
A Computação Gráfica é a área da Ciência da Computação que estuda a                         
geração, manipulação e interpretação de modelos e imagens de objetos utilizando                     
computador. Tais modelos vêm de uma variedade de disciplinas, como física,                     
matemática, engenharia, arquitetura, etc. 
Pode-se relacionar a Computação Gráfica com 3 sub-áreas. 
● Síntese de Imagens: área que se preocupa com a produção de                     
representações visuais a partir das especificações geométrica e visual                 
de seus componentes. É frequentemente confundida com a própria                 
Computação Gráfica. As imagens produzidas por esta sub-área são                 
geradas a partir de dados mantidos nos chamados ​Display FIles. 
● Processamento de Imagens: envolve as técnicas de transformação de                 
Imagens, em que tanto a imagem original quanto a imagem resultado                     
apresentam-se sob uma representação visual (geralmente matricial).             
Estas transformações visam melhorar as características visuais da               
imagem (aumentar contraste, foco, ou mesmo diminuir ruídos e/ou                 
distorções). As imagens produzidas/utilizadas por esta su-área são               
armazenadas/recuperadas dos chamados ​Raster Files. 
● Análise de Imagens: área que procura obter a especificação dos                   
componentes de uma imagem a partir de sua representação visual.                   
Ou seja, a partir da informação pictórica da imagem (a própria                     
imagem) produz uma informação não pictórica da imagem (por                 
exemplo, as primitivas geométricas elementares que a compõem). 
 
2) Cite exemplos corriqueiros do uso da computação gráfica nos dias                   
atuais. 
a) CAD 
b) Apresentações gráficas 
c) Arte por computador 
d) Entretenimento 
e) Educação e treinamento 
f) Visualização científica 
 
3) O que se entende por dispositivos gráficos? 
 
Os dispositivos gráficos permitem a interação dos usuários com as aplicações                     
gráficas. Dispositivos gráficos de ​entrada são aqueles cuja função é capturar                     
informações para as aplicações. Os de ​processamento apresentam arquiteturas                 
especiais destinadas à manipulação de objetos gráficos. Os de ​saída são aqueles                       
responsáveis por permitir a exibição de objetos gráficos. 
 
4) Discuta as principais diferenças entre dispositivos gráficos vetoriais e                 
dispositivos gráficos matriciais; considere os casos de dispositivos de                 
entrada e de saída. 
A principal diferença entre esses dispositivos é a maneira em que desenham as                         
figuras, no qual dispositivos gráficos vetoriais, por meio de traçados de segmentos                       
de retas, permite a construção de uma figura. Por outro lado, dispositivos de                         
gráficos matriciais realizam a construção da figura por meio do preenchimento de                       
uma matriz através de entradas que possuem largura e altura fixas.  
 
5) Qual é considerada a melhor combinação de dispositivos gráficos                 
vetoriais e matriciais levando em conta as tecnologias atuais, conforme                   
discutido em sala de aula? 
Uma combinação entre os dispositivos gráficos vetoriais e matriciais consistem em                     
usar os dispositivos gráficos vetoriais em dispositivos de entrada e utilizar os                       
dispositivos matriciais em dispositivos de saída. 
 
6) Por que os algoritmos de conversão de primitivas gráficas vetoriais para                     
dispositivos matriciais são importantes na área de Computação Gráfica? 
Com a utilização de algoritmos de conversão, pode-se optar pela escolha de qual                         
dispositivo utilizar para representar uma figura, aproveitando assim das vantagens                   
do método utilizado. Além disso, não se tem a limitação de um determinado                         
dispositivo gráfico pelo dispositivo de entrada e saída. 
 
7) O que é um Sistema Gráfico? Qual sua função? Cite alguns exemplos. 
Sistema gráfico é uma interface entre o software e o hardware gráfico. A interface 
consiste em um conjunto de procedimentos e funções que permitem a um                       
programador especificar os objetos e as operações que os envolvem produzindo                     
imagens de alta qualidade. A função de um sistema gráfico é padronizar o                         
desenvolvimento de aplicações que utilizam recursos gráficos para que a aplicação                     
possa ser executada em diferentes plataformas. (Ex: XWindow) 
 
8) O que é um Sistema de Referência (SR)? Qual sua função? Discuta os três                           
tipos de SR estudados em sala de aula.  
Um sistema de referência é um sistema de coordenadas cartesianas que possui                       
alguma finalidade específica, propondo uma unidade de referência básica e os                     
limites extremos dos valores aceitos para descrever um objeto. Entre eles, pode -se                         
citar 4: 
● Sistema de referência do universo (SRU): é um sistema de coordenada                     
utilizado para descrever os objetos em termos das coordenadas utilizadas                   
pelo usuário em determinada aplicação. 
● Sistema de referência do objeto (SRO): nesse sistema cada objeto possui seu                       
próprio mini universo individual, possuindo assim suas próprias               
particularidades. 
● Sistema de Referência Normalizado (SRN): trabalha com coordenadas               
normalizadas (valores de 0 e 1) e serve como um sistema intermediário                       
entre o SRU e SRD. Tem como objetivo a geração das imagens independente                         
do dispositivo, pois as coordenadas do universo são convertidas para um                     
sistema de coordenadas padrão normalizado. 
● Sistema de Referência do Dispositivo (SRD): Utiliza um sistema de                   
coordenada que pode ser fornecida diretamente por um dispositivo de                   
saída. 
9) Dado um SR do universo, o que entendemos por “janela de visualização”? 
Uma janela de visualização é uma área retangular no espaço bidimensional que                       
mostra qual objeto será exibido, delimitado pelas coordenadas dessa janela. É                     
possível definir a janela como sendo maior, do mesmo tamanho ou menor do que                           
os dados a serem exibidos, caso você queira mostrar o objeto todo ou apenas parte                             
dele. 
10)Considerando um SR para um dispositivo de visualização arbitrário, o                   
que entendemos por “view-port”?  
View-port define em coordenadas normalizadas uma área retangular que mostra a 
localização onde um objeto deve ser exibido, delimitado pelas coordenadas desse 
dispositivo arbitrário. 
 
11)Qual a função do SR normalizado? Que efeitos esse sistema pode causar                       
sobre os dados oriundos do SRU? 
O SRN serve como um intermediário entre o SRU e o SRD, e sua principal função é a                                   
de tornar a geração das imagens independente do dispositivo, pois as coordenadas                       
do universo são convertidas para um sistema de coordenadas padrão normalizado. 
 
12)Faz sentido fazer menção a pontos (abstração matemática) no SRD?                   
Justifique! Da mesma forma, podemosfazer alguma referência à                 
entradas em uma grade matricial considerando um SRU? Justifique                 
adequadamente. 
Se o dispositivo gráfico for vetorial (SRD com coordenadas contínuas), então sim. 
Caso o dispositivo gráfico seja matricial (SRD com coordenadas discretas), então                     
não, pois a unidade mínima em uma matriz são suas entradas, e não pontos. 
Já para o SRU, podemos fazer referência a entradas em uma matriz se                         
considerarmos um universo que pode ser descrito através de um sistema de                       
coordenadas discretas, ou seja, entradas em uma matriz. Caso contrário, o correto                       
é fazer referências a pontos no espaço. 
 
13)Descreva as equações para a conversão de dados entre o SRU para o                         
SRN (veja slides apresentados em sala de aula).  
ncx = (x - xmin) / (xmax- xmin) 
ncy = (y - ymin) / (ymax- ymin) 
 
Coordenadas cartesianas (x,y) num intervalo definido pelo usuário que definem                   
uma área retangular no espaço bidimensional denominada janela de visualização. 
xmin, xmax, ymin, ymax = valores máximos e mínimos de x e y. 
 
14)Descreva as equações para a conversão de dados entre o SRN para o                         
SRD (veja slides apresentados em sala de aula).  
dcx = round(ncx * (ndh − 1)) 
dcy = round(ncy * (ndv − 1)) 
 
dcx = coordenadas do dispositivo em x 
dcy = coordenadas do dispositivo em y 
ncx = coordenadas normalizadas 
ndh = número de posições endereçáveis na horizontal 
ndv = número de posições endereçáveis na vertical 
round = arredondar valores das coordenadas do dispositivo 
 
15)Considerando que estamos trabalhando no plano, no exercício 13, qual a                     
implicação de trabalharmos com as dimensões de uma janela de                   
visualização ao invés do tamanho definido para o mundo (universo)?                   
Justifique! Quais as vantagens de pensarmos em termos de janelas?  
 
São utilizadas dimensões de uma janela de visualização ao invés do tamanho                       
definido para o mundo, pois, geralmente, se deseja exibir apenas uma parte                       
específica de dados do mundo e não ele todo. A vantagem é a possibilidade de                             
escolher o quanto dos dados do mundo se deseja mostrar, ele todo ou apenas                           
parte dele. 
 
16)Ainda considerando o plano, no exercício 14, qual a implicação de                     
trabalharmos com as dimensões de uma view-port ao invés do tamanho                     
definido para a grade matricial que representa todo o dispositivo de                     
saída? Justifique! Quais as vantagens de pensarmos em termos de                   
view-ports ? 
As dimensões de uma view-port são utilizadas ao invés do tamanho que representa 
todo o dispositivo de saída, pois com ela é possível especificar em que local a                             
imagem vai ser exibida na tela do dispositivo. A vantagem é a possibilidade de                           
exibir dados na tela em diferentes tamanhos e lugares do dispositivo, o que resulta                           
num maior espaço livre para exibir outros dados na tela. 
 
17)Modifique as expressões apresentadas no exercício 14 para que uma                   
view-port seja exibida em qualquer posição, respeitados os números                 
máximos de entradas na vertical e na horizontal do dispositivo de saída.  
 
dcx = offsetX + round(ncx * (ndh − 1)), sendo que ndh vai ser a quantidade de 
entradas horizontais desse view-port 
dcy = offsetY + round(ncy * (ndv − 1)) , sendo que ndv vai ser a quantidade de 
entradas horizontais desse view-port 
 
18) Quais as características desejáveis em um bom algoritmo para o                     
conversão matricial de 1 segmentos de reta em Computação Gráfica? Em                     
que domínio esse algoritmo é aplicado? Justifique! 
1. Linearidade: os pixels traçados devem dar a aparência de que estão sobre uma                           
reta. Isto é trivial no caso de segmentos paralelos aos eixos x ou y, ou com                               
inclinação de 45 graus, mas não nos outros casos. 
2. Precisão: os segmentos devem iniciar e terminar nos pontos especificados. Caso                       
isso não ocorra, pequenos gaps podem surgir entre o final de um segmento e o in                               
́ıcio de outro. 
3. Espessura (Densidade) uniforme: a densidade da linha é dada pelo número de                         
pixels traçados dividido pelo comprimento da linha. Para manter a densidade                     
constante, os pixels devem ser igualmente espaçados. A imagem do segmento não                       
varia de intensidade ou espessura ao longo de sua extensão. 
4. Intensidade independente da inclinação: para segmentos de diferentes                 
inclinações 
5. Continuidade: a imagem não apresenta interrupções indesejáveis. 
6. Rapidez no Traçado dos segmentos. O problema da conversão matricial consiste                       
essencialmente em ajustar uma curva, no caso, um segmento de reta, a qual é                           
precisamente definida por coordenadas reais, a uma malha de coordenadas                   
inteiras. Isto pode ser feito calculando as coordenadas reais, (xr, yr), do próximo                         
ponto na linha, e escolhendo na malha os pixels cujas coordenadas (x, y) mais se                             
aproximam das coordenadas reais, obtidos por arredondamento ou truncamento. 
 
19)Discuta a abordagem do algoritmo de Bresenham (ou algoritmo do                   
ponto médio), para traçado de linhas retas (conversão matricial). Dadas                   
as coordenadas dos pontos inicial e final de um segmento de reta,                       
implemente o algoritmo de Bresenham para traçado de linhas.  
 
20)O algoritmo de Bresenham é capaz de traçar linhas verticais? (considere                     
o algoritmo proposto no livro de A. Conci e E. Azevedo). 
Não, pois para isso o coeficiente angular seria infinito, o que não é tratado no                             
algoritmo. 
 
21)Em caso negativo no exercício anterior, que modificações você poderia                   
incorporar no algoritmo para que este possa desenhar segmentos de                   
retas na vertical?  
 
Pensei em tratar o y como x e o x como y, assim teríamos uma constante para os                                   
valores de x e uma variação para os valores de y, possibilitando um desenho                           
horizontal. 
22)Discuta o funcionamento do algoritmo de Bresenham analisando o valor                   
da variável que armazena o erro.  
23) 
 
24)Descreva um pseudocódigo para o preenchimento de um polígono de                   
forma arbitrária.  
Em geral, a decisão sobre quais pixels preencher é feita “varrendo-se” (scan) linhas 
sucessivas que interceptam a primitiva, e preenchendo, da esquerda para a direita,                       
blocos de pixels adjacentes (spans) que estão dentro da primitiva que define o                         
polígono. 
 
25)Considere um sistema de coordenadas homogêneas no plano. As                 
matrizes que definem as transformações lineares de escalonamento,               
translação e rotação possuem inversa? Em caso afirmativo, qual a                   
condição necessária para a existência da matriz inversa?  
 
Todas as matrizes de transformação ( ​T, SeR) possuem inversas. Para descobrir          
se uma matriz possui uma matriz inversa ou não basta calcular o determinante 
dela: caso o determinante dê igual a zero, não existe matriz inversa para ela.  
 
 
26)Supondo um sistema de coordenadas homogêneas e admitindo a                 
existência das matrizesinversas para as operações de rotação,                 
deslocamento e escalonamento, como são descritas essas matrizes? 
 
A inversa de T é obtida simplesmente negando-se d​x ​, d​y ​e d​z​. Para a matriz S, 
basta substituir s​x​, s​y ​e s​z ​por seus valores inversos. ​Para cada uma das matrizes          
de rotação R, basta negar o ângulo de rotaç̃ao. 
 
 
27)A multiplicação das matrizes de rotação, translação e escalonamento é                   
comutativa? Dê exemplos e justifique sua resposta.  
 
Rotação e escala são comutativas. Porém transação e escala não são, nem                       
translação e rotação. 
 
28)Considere o objeto definido pelos pontos p1=(3,3), p2=(6,3), p3=(6,6),                 
p4=(4.5,8) e p5=(3,6). Aplique sobre ele uma operação de rotação de 70º                       
(ou algum outro ângulo qualquer). Juntamente com a operação de                   
rotação, verifique que uma outra operação aconteceu implicitamente               
sobre o pontos que definem o objeto. Que operação foi essa? Por que                         
isso aconteceu? Como resolver esse problema? 
 
x’ = x cos(Θ) – y sen(Θ)  sen(70o) = 0,94 
y’ = y cos(Θ) + x sen(Θ)  cos(70o) = 0,34 
p1’ = (-1.8 ; 3,84) 
p2’ = (-0.78 ; 6.66) 
p3’ = (-3.6 ; 7.68) 
p4’ = (-5.99 ; 6.48) 
p5’ = (-4.62 ; 4.86) 
 
29)A transformação de cisalhamento (shearing ou skew) no plano é uma                     
operação que distorce o formato de um objeto. Neste tipo de operação,                       
aplica-se um deslocamento aos valores das coordenadas do objeto                 
proporcional ao valor das outras coordenadas de cada ponto                 
transformado. Por exemplo, uma distorção na direção x, proporcional a                   
coordenada y, pode ser obtida considerando a seguintes novas                 
coordenadas: x' = x + S*y e y' = y. Note a presença da coordenada y na                                 
composição da coordenada x', onde S é um valor constante. Determine a                       
transformação linear e a matriz correspondente para realizar essa                 
transformação considerando o uso de coordenadas homogêneas.  
 
[ x' ] | 1 S 0 | | x | 
| y' | = | 0 1 0 | * | y | 
[ 1 ] | 0 0 1 | | 1 | 
 
 
30)Por que é interessante pensarmos ou trabalharmos com transformações                 
lineares em CG? Justifique sua resposta. 
Utilizando transformações lineares, é possível aplicar várias operações sobre                 
pontos. Podemos trazer o conceito dos pontos da matemática para pixels dentro                       
do contexto da computação gráfica. Pensando dessa maneira existem muitas                   
transformações lineares que são comumentes utilizadas e úteis para a computação                     
gráfica, alguns exemplos são: 
- Reflexão em torno do eixo x ou y. 
- Reflexão em torno de uma reta 
- Rotação em torno de um eixo ou origem 
- Cisalhamento na direção do eixo x ou y, entre outras. 
As aplicações de tais transformações dentro da computação gráfica são vastas,                     
podemos por exemplo transformar uma fonte em itálico, espelhar uma imagem,                     
rotacionar uma imagem, entre muitas outras. 
31)Descreva o que se entende por look-up-table, colormap ou mapa de                     
cores. 
Uma look-up-table é uma matriz que é aplicada num conjunto de valores para                         
transformá-los. Essa matriz pode ser um conjunto de fórmulas ou um conjunto de                         
números pré determinados (um look-up-table de cores). Ela pode ser usada, por                       
exemplo, para tratamento de imagens. 
Um colormap, ou mapa de cores, é um vetor de cores utilizado para mapear dados 
de pixel para os valores de cores correspondentes. 
32)Descreva como podemos separar a informação geométrica da               
informação de cor associadas a cada entrada de uma malha retangular                     
que representa abstratamente um dispositivo gráfico de saída. 
Com a utilização das look-up-table ou com colomaps, podemos desassociar as                     
informações geométricas (coordenadas, pontos e etc) com as informações                 
associadas a cada entrada de uma malha retangular, pois utilizando a look-up-table                       
pode-se associar um índice para uma determinada cor, assim as informações da cor                         
associada a cada entrada pode ser acessada por meio do índice atribuído aquela                         
cor. 
33)Faça uma pesquisa na Web sobre “modo texto” e “modo gráfico”,                     
estabelecendo e discutindo suas diferenças.

Continue navegando