Você está na página 1de 6

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.
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
matemático externo.

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