Você está na página 1de 6

UNIVERSIDADE

PAULISTA
UNIP

COMPUTAÇÃO
GRÁFICA

LISTA DE EXERCÍCIO
DO PLANO DE
CONTINGÊNCIA –
COVID 19

1
Questão 1: Considere o algoritmo de Bresenham para segmento de retas descrito no código
abaixo:
void inc_line(int x1, int y1, int x2, int y2, int color){
int dx, dy, incE, incNE, d, x, y;
dx = x2 - x1;
dy = y2 - y1;
d = 2 * dy - dx; /* Valor inicial de d */
incE = 2 * dy; /* Incremento de E */
incNE = 2 * (dy - dx); /* Incremento de NE */
x = x1;
y = y1;
write_pixel(x, y, color);
while (x < x2){
if (d <= 0) {
/* Escolhe E */
d = d + incE;
x = x + 1;
}else{
/* Escolhe NE */
d = d + incNE;
x = x + 1;
y = y + 1;
}/* end if */
write_pixel(x, y, color);
}/* end while */
}/* end inc_line */

1.1) Simule a execução algoritmo através de um teste de mesa para o segmento de reta AB, com
A = (1,1) e B = (7,6).

  int X1 int Y1 int X2 int Y2 int dx int dy d incE incNE x Y


Linha 1 1 1 7 6 --- --- --- --- --- --- ---
Linha 2 Criação das Variáveis: int dx, dy, incE, incNE, d, x, y;
Linha 3 --- --- --- --- 6 --- --- --- --- --- ---
Linha 4 --- --- --- --- --- 5 --- --- --- --- ---
Linha 5 --- --- --- --- --- --- 4 --- --- --- ---
Linha 6 --- --- --- --- --- --- --- 10 --- --- ---
Linha 7 --- --- --- --- --- --- --- --- -2 --- ---
Linha 8 --- --- --- --- --- --- --- --- --- 1 ---
Linha 9 --- --- --- --- --- --- --- --- --- --- 1
Linha 10 write_pixel(x, y) ou write_pixel(1, 1)
Linha 11 while (x < x2) ou while (1 < 7)
Linha 12 if (d <= 0) ou if (4 <= 0)
Linha 15 --- --- --- --- --- --- 2 --- --- --- ---
Linha 16 --- --- --- --- --- --- --- --- --- 2 ---
Linha 17 --- --- --- --- --- --- --- --- --- --- 2
Linha 18 write_pixel(x, y) ou write_pixel(2, 2)
Linha 11 while (x < x2) ou while (2 < 7)
Linha 12 if (d <= 0) ou if (2 <= 0)
Linha 15 --- --- --- --- --- --- 0 --- --- --- ---
Linha 16 --- --- --- --- --- --- --- --- --- 3 ---

2
Linha 17 --- --- --- --- --- --- --- --- --- --- 3
Linha 18 write_pixel(x, y) ou write_pixel(3, 3)
Linha 11 while (x < x2) ou while (3 < 7)
Linha 12 if (d <= 0) ou if (0 <= 0)
Linha 13 --- --- --- --- --- --- 10 --- --- --- ---
Linha 14 --- --- --- --- --- --- --- --- --- 4 ---
Linha 18 write_pixel(x, y) ou write_pixel(4, 3)
Linha 11 while (x < x2) ou while (4 < 7)
Linha 12 if (d <= 0) ou if (10 <= 0)
Linha 15 --- --- --- --- --- --- 8 --- --- --- ---
Linha 16 --- --- --- --- --- --- --- --- --- 5 ---
Linha 17 --- --- --- --- --- --- --- --- --- --- 4
Linha 18 write_pixel(x, y) ou write_pixel(5, 4)
Linha 11 while (x < x2) ou while (5 < 7)
Linha 12 if (d <= 0) ou if (8 <= 0)
Linha 15 --- --- --- --- --- --- 6 --- --- --- ---
Linha 16 --- --- --- --- --- --- --- --- --- 6 ---
Linha 17 --- --- --- --- --- --- --- --- --- --- 5
Linha 18 write_pixel(x, y) ou write_pixel(6, 5)
Linha 11 while (x < x2) ou while (6 < 7)
Linha 12 if (d <= 0) ou if (6 <= 0)
Linha 15 --- --- --- --- --- --- 4 --- --- --- ---
Linha 16 --- --- --- --- --- --- --- --- --- 7 ---
Linha 17 --- --- --- --- --- --- --- --- --- --- 6
Linha 18 write_pixel(x, y) ou write_pixel(7, 6)

1.2) Simule a execução algoritmo através de um teste de mesa para o segmento de reta AB, com
A = (1,1) e B = (7,8).

  int X1 int Y1 int X2 int Y2 int dx int dy d incE incNE x y


Linha 1 1 1 7 8 --- --- --- --- --- --- ---
Linha 2 Criação das Variáveis: int dx, dy, incE, incNE, d, x, y;
Linha 3 --- --- --- --- 6 --- --- --- --- --- ---
Linha 4 --- --- --- --- --- 7 --- --- --- --- ---
Linha 5 --- --- --- --- --- --- 8 --- --- --- ---
Linha 6 --- --- --- --- --- --- --- 14 --- --- ---
Linha 7 --- --- --- --- --- --- --- --- 2 --- ---
Linha 8 --- --- --- --- --- --- --- --- --- 1 ---
Linha 9 --- --- --- --- --- --- --- --- --- --- 1
Linha 10 write_pixel(x, y) ou write_pixel(1, 1)
Linha 11 while (x < x2) ou while (1 < 7)
Linha 12 if (d <= 0) ou if (8 <= 0)
Linha 15 --- --- --- --- --- --- 10 --- --- --- ---
Linha 16 --- --- --- --- --- --- --- --- --- 2 ---
Linha 17 --- --- --- --- --- --- --- --- --- --- 2
Linha 18 write_pixel(x, y) ou write_pixel(2, 2)

3
Linha 11 while (x < x2) ou while (2 < 7)
Linha 12 if (d <= 0) ou if (10 <= 0)
Linha 15 --- --- --- --- --- --- 12 --- --- --- ---
Linha 16 --- --- --- --- --- --- --- --- --- 3 ---
Linha 17 --- --- --- --- --- --- --- --- --- --- 3
Linha 18 write_pixel(x, y) ou write_pixel(3, 3)
Linha 11 while (x < x2) ou while (3 < 7)
Linha 12 if (d <= 0) ou if (12 <= 0)
Linha 15 --- --- --- --- --- --- 14 --- --- --- ---
Linha 16 --- --- --- --- --- --- --- --- --- 4 ---
Linha 17 --- --- --- --- --- --- --- --- --- --- 4
Linha 18 write_pixel(x, y) ou write_pixel(4, 4)
Linha 11 while (x < x2) ou while (4 < 7)
Linha 12 if (d <= 0) ou if (14 <= 0)
Linha 15 --- --- --- --- --- --- 16 --- --- --- ---
Linha 16 --- --- --- --- --- --- --- --- --- 5 ---
Linha 17 --- --- --- --- --- --- --- --- --- --- 5
Linha 18 write_pixel(x, y) ou write_pixel(5, 5)
Linha 11 while (x < x2) ou while (5 < 7)
Linha 12 if (d <= 0) ou if (16 <= 0)
Linha 15 --- --- --- --- --- --- 18 --- --- --- ---
Linha 16 --- --- --- --- --- --- --- --- --- 6 ---
Linha 17 --- --- --- --- --- --- --- --- --- --- 6
Linha 18 write_pixel(x, y) ou write_pixel(6, 6)
Linha 11 while (x < x2) ou while (6 < 7)
Linha 12 if (d <= 0) ou if (18 <= 0)
Linha 15 --- --- --- --- --- --- 20 --- --- --- ---
Linha 16 --- --- --- --- --- --- --- --- --- 7 ---
Linha 17 --- --- --- --- --- --- --- --- --- --- 7
Linha 18 write_pixel(x, y) ou write_pixel(7, 7)

1.3) Para o algoritmo incremental, considere um segmento de reta AB com A = (2,3) e B =


(5,4). Apresente um ponto do mesmo segmento.
R: Um dos pontos do mesmo segmento é (3, 3).
Questão 2: Descrever as interações associadas ao algoritmo de Algoritmo de Cohen-Shutterland
(“clipping” ou recorte) para o segmento AB representado na figura abaixo. Nomeie livremente
os pontos encontrados ao longo da execução de tal algoritmo.

4
B

Retângulo
de recorte

Questão 3: Qual a diferença entre os termos computação gráfica e síntese de imagens?


R: A diferença é que a computação gráfica trata da síntese de imagens de objetos reais ou
imaginários a partir de modelos computacionais e síntese de imagens é a parte da descrição de
objetos, como por exemplo um segmento de reta, nele produz uma imagem que atende a certas
especificações e que pode, em última instância, ser visualizada em algum dispositivo.
Questão 4: “O traçado das primitivas gráficas elementares, como segmentos de reta ou arcos de
circunferência, requer a construção de algoritmos capazes de determinar na matriz de pixels da
superfície de exibição quais pixels devem ser alterados de forma a simular-se a aparência do
elemento gráfico desejado. Estes algoritmos recebem o nome de Algoritmos de Conversão
Matricial, por converterem em representação matricial elementos gráficos expressos em uma
representação vetorial. (Traina, Ferreira de Oliveira, 2004).”
Considere as seguintes asserções:
I – O algoritmo de Bresenham adota o critério de selecionar os dois pixels imediatamente acima
e abaixo do ponto de intersecção do segmento com cada vertical (de pixels), a menos quando o
segmento passa por um pixel.
II – No algoritmo de Bresenham, o critério consiste em selecionar todos os pixels cujas
coordenadas são obtidas arredondando-se os valores das coordenadas de algum ponto do
segmento. Isto implica que se o segmento real se encontrar exatamente no ponto médio da grade
de pixels, os dois pixels são iluminados.
III – Dado um segmento AB, com a variação no eixo x e menor que a variação no eixo y,
seleciona-se em cada horizontal o pixel mais próximo do ponto de intersecção do segmento com
a reta vertical.
São corretas as afirmações:
a) I, II e III.
b) Apenas I e II.
c) Apenas II.
d) Apenas I e III.
e) Apenas III.

Questão 5: Em (Azevedo, Conci), encontra-se o seguinte parágrafo: “A Computação Gráfica é


uma ferramenta de concepção de arte, assim como o plano ou o pincel. Essa ferramenta
proporciona um maior poder de abstração, ajudando na criação de imagens complexas e em
muitos casos não imaginadas. A relação entre luz, tempo e movimento constitui a base desta que
poderia ser classificada como uma arte tecnológica.” Considere as seguintes afirmações:
I – O algoritmo de Bresenham para a rasterização ou linhas considera como dados de entrada a
localização de dois pixels (x1, y1) e (x2, y2) da reta a ser rasterizada. Para cada ponto a ser
traçada, o algoritmo verifica sua distância entre a posição do próximo pixel e a localização da
reta no grid.

5
PORQUE
II – O algoritmo de Bresenham calcula o coeficiente angular (tangente) e o coeficiente linear
definido pelos dois pontos (x1, y1) e (x2, y2) e seguidamente calcula os demais pixels da reta.
É correto afirmar:
a) I e II são corretas e II justifica I.
b) I e II são corretas, mas II não justifica I.
c) Apenas I é correta.
d) Apenas II é correta
e) I e II são afirmações falsas.
Questão 6: Adaptada ENADE - 2005 Considere que um colega seu tenha ganhado uma
máquina fotográfica digital e tenha tirado a foto identificada em I. Na sequência, a partir da
imagem I, considere que ele tenha gerado a imagem II.

II

Nessa situação aplicou-se um algoritmo de síntese de imagem, análise de imagem,


processamento de imagem ou visualização de imagem? Justifique sua resposta.
R: Processamento de imagem, porque modificam uma imagem para melhorar sua qualidade,
eliminando ruídos e realçando características que facilitem o seu entendimento.

Questão 7: Pesquise os seguintes termos, copie a definição e anote a referência, ou seja, onde
você encontrou essas definições.
a) Rasterização: é simplesmente o processo de computar formas e geometria para pixels.
Referência: https://pt.glosbe.com/pt/pt/rasterização .

b) Hardware para ponto flutuante: unidade de ponto flutuante ou unidade de vírgula


flutuante (fpu) é o hardware dedicado a executar operações matemáticas de dados
representados em ponto flutuante num computador.
esta unidade pode ser integrada na unidade central de processamento, como acontece na
generalidade dos processadores modernos ou pode ser através de um co-processador
matemático externo.
Referência: http://tsinforzone.blogspot.com/2012/03/unidade-de-ponto-flutuante.html

c) Coeficiente angular de uma reta: O coeficiente angular (a) representa a inclinação da


reta em relação ao eixo das abscissas (x) e o coeficiente linear (c) representa o valor
numérico por onde a reta passa no eixo das ordenadas (y).
Referência: https://brasilescola.uol.com.br/matematica/equacao-reduzida-reta.htm

d) Coeficiente linear de uma reta: é a ordenada do ponto em que a reta intercepta o eixo-
y.
Referência: http://www.matematica.pucminas.br/profs/web_fabiano/calculo1/lineares.pdf

Você também pode gostar