ATRIBUTOS DESEJÁVEIS

21
ATRIBUTOS DESEJÁVEIS Linearidade : o arranjo dos pixels devem dar a aparência de estarem todos sobre um segmento de reta Intensidade ou espessura uniforme : a imagem do segmento não varia de extensão ao longo da sua extensão Continuidade : sem interrupções Precisão : : a imagem inicia-se e termina nos pontos especificados Intensidade independente da inclinação : segmentos de diferentes inclinações possuem imagens de mesma intensidade CONVERSÃO MATRICIAL DE SEGMENTOS DE RETA CONVERSÃO MATRICIAL DE SEGMENTOS DE RETA

description

CONVERSÃO MATRICIAL DE SEGMENTOS DE RETA. ATRIBUTOS DESEJÁVEIS Linearidade : o arranjo dos pixels devem dar a aparência de estarem todos sobre um segmento de reta Intensidade ou espessura uniforme : a imagem do segmento não varia de extensão ao longo da sua extensão - PowerPoint PPT Presentation

Transcript of ATRIBUTOS DESEJÁVEIS

Page 1: ATRIBUTOS DESEJÁVEIS

ATRIBUTOS DESEJÁVEIS

• Linearidade: o arranjo dos pixels devem dar a aparência de estarem todos sobre um segmento de reta

• Intensidade ou espessura uniforme: a imagem do segmento não varia de extensão ao longo da sua extensão

• Continuidade: sem interrupções

• Precisão: : a imagem inicia-se e termina nos pontos especificados

• Intensidade independente da inclinação: segmentos de diferentes inclinações possuem imagens de mesma intensidade

CONVERSÃO MATRICIAL DE SEGMENTOS DE RETA CONVERSÃO MATRICIAL DE SEGMENTOS DE RETA

Page 2: ATRIBUTOS DESEJÁVEIS

ALGORITMO 1

var x,y,x1,x2, y1, y2: inteiro;

a: real;

begin

a := (y2-y1) / (x2-x1);

for x := x1 to x2 do begin

y := round ( y1 + a * (x2 – x1));

PintaPixel (x,y);

end;

end;

CONVERSÃO MATRICIAL DE SEGMENTOS DE RETA CONVERSÃO MATRICIAL DE SEGMENTOS DE RETA

Page 3: ATRIBUTOS DESEJÁVEIS

ALGORITMO BRESENHAM (1965)

var x, y, x1, x2, y1, y2, s: inteiro;

y := y1;

dy := 2*(y2 – y1);

dx := - 2*(x2 – x1);

s := -(x2-x1) + dy;

for x := x1 to x2 do begin

PintaPixel (x,y);

if s > 0 then begin

s := s + dx + dy;

y := y+1;

end;

else s := s + dy;

end;

CONVERSÃO MATRICIAL DE SEGMENTOS DE RETA CONVERSÃO MATRICIAL DE SEGMENTOS DE RETA

Page 4: ATRIBUTOS DESEJÁVEIS

Dois aspectos da formulação das transformações devem ser enfatizados:

1) Uma transformação é uma entidade matemática única e, como tal, pode ser denotada por um único nome ou símbolo;

2) Duas transformações podem ser combinadas, ou concatenadas, para a obtençãode uma única transformação que tenha os mesmos efeitos obtidos pela aplicação sequencial das duas originais. Assim, a transformação A poderia ser uma translação e a transformação B umamudança de escala. A propriedade de concatenação nos permite determinar umatransformação C=AB, cujo efeito é transladar e então escalar o objeto.

TRANSFORMAÇÕES BIDIMENSIONAIS TRANSFORMAÇÕES BIDIMENSIONAIS

Page 5: ATRIBUTOS DESEJÁVEIS

Os princípios de denotação e concatenação irão pertencer a todas as transformações descritas : recorte (clipping), apresentação em janela (windowing) e transformações tri-dimensionais e de perspectiva. Cada uma destas transformações é usada para gerar um novo ponto (x’, y’) a partir das coordenadas de um ponto (x, y) proveniente da descrição da figura original. Se a definição original inclui uma linha, é suficiente aplicar a transformação aos pontos da extremidade e mostrar a linha entre os dois pontos transformados.

TRANSFORMAÇÕES BIDIMENSIONAIS TRANSFORMAÇÕES BIDIMENSIONAIS

Page 6: ATRIBUTOS DESEJÁVEIS

TRANSFORMAÇÕES BIDIMENSIONAIS - TRANSLAÇÃO TRANSFORMAÇÕES BIDIMENSIONAIS - TRANSLAÇÃO

A forma da transformação de translação é:

x’ = x + Tx y’ = y + Ty

Page 7: ATRIBUTOS DESEJÁVEIS

Rotação

Para rodar um ponto (x, y) de um ângulo em sentido horário, em torno da origem do sistema de coordenadas, devemos escrever:

x’ = x cos + y sin y’ = -x sin + y cos

O triângulo (20, 0), (60, 0), (40, 100) rotacionado 45 (sentido horário) em torno da origem é (14.14, -14.14), (42.43, -42.43), (98.99, 42.43), e está mostrado na figura 2. Estas equações podem ser usadas somente se a rotação é em torno da origem do sistema de coordenadas.

TRANSFORMAÇÕES BIDIMENSIONAIS TRANSFORMAÇÕES BIDIMENSIONAIS

Page 8: ATRIBUTOS DESEJÁVEIS

TRANSFORMAÇÕES BIDIMENSIONAIS TRANSFORMAÇÕES BIDIMENSIONAIS

Figura 2 - Rotação em torno da origem

Page 9: ATRIBUTOS DESEJÁVEIS

As transformações de escala

x’ = xS x y’ = ySy

podem ser usadas para diversos fins. Se a figura deve ser ampliada para duas vezes o seu tamanho original, nós devemos escolher Sx = Sy = 2. Note que a ampliação é relativa à origem do sistema de coordenadas. O triângulo (20, 0), (60, 0), (40, 100) passa a ser (40, 0), (120, 0), (80, 200), como mostrado na figura 3.

TRANSFORMAÇÕES BIDIMENSIONAIS – TRANSFORMAÇÕES BIDIMENSIONAIS – MUDANÇA DE ESCALA

Figura 3 - Mudança de Escala em relação à origem

Page 10: ATRIBUTOS DESEJÁVEIS

TRANSFORMAÇÕES BIDIMENSIONAIS TRANSFORMAÇÕES BIDIMENSIONAIS

Figura 6 - Ordem diferente de transformações

Page 11: ATRIBUTOS DESEJÁVEIS

TRANSFORMAÇÕES BIDIMENSIONAIS – FORMULAÇÃO MATRICIAL TRANSFORMAÇÕES BIDIMENSIONAIS – FORMULAÇÃO MATRICIAL

1

0

0

11''

fc

eb

da

yxyx

Page 12: ATRIBUTOS DESEJÁVEIS

FORMULAÇÃO MATRICIAL– TRANSLAÇÃO FORMULAÇÃO MATRICIAL– TRANSLAÇÃO

1

010

001

11''

yx TT

yxyx

Page 13: ATRIBUTOS DESEJÁVEIS

FORMULAÇÃO MATRICIAL – ROTAÇÃOFORMULAÇÃO MATRICIAL – ROTAÇÃO

x y x y' '

cos sin

sin cos1 1

0

0

0 0 1

Page 14: ATRIBUTOS DESEJÁVEIS

FORMULAÇÃO MATRICIAL – MUDANÇA DE ESCALAFORMULAÇÃO MATRICIAL – MUDANÇA DE ESCALA

x y x y

S

Sx

y' ' 1 1

0 0

0 0

0 0 1

Page 15: ATRIBUTOS DESEJÁVEIS

x y x y' ' 1 1

2 0 0

0 2 0

0 0 1

x y x y1 1

1 0 0

0 1 0

10 0 1

CONCATENAÇÃO DE TRANSFORMAÇÕES MATRICIAIS CONCATENAÇÃO DE TRANSFORMAÇÕES MATRICIAIS

Supondo-se que:

E que:

Page 16: ATRIBUTOS DESEJÁVEIS

CONCATENAÇÃO DE TRANSFORMAÇÕES MATRICIAISCONCATENAÇÃO DE TRANSFORMAÇÕES MATRICIAIS

x y x y1 1

2 0 0

0 2 0

0 0 1

1 0 0

0 1 0

10 0 1

x y x y1 1

2 0 0

0 2 0

10 0 1

RESULTANDO:

Portanto:

Page 17: ATRIBUTOS DESEJÁVEIS

TRANSFORMAÇÕES COMPLEXAS TRANSFORMAÇÕES COMPLEXAS

1

010

001

11''

yx RR

yxyx

100

0cos

0cos

11

sin

sin

yxyx

Então a rotação pode ser aplicada

A transformação de rotação pode ser aplicada para rodar pontos somente em torno da origem. Portanto, se desejamos derivar uma transformação que irá rodar um ponto de um ângulo Ø em torno do ponto (Rx, Ry), primeiro precisamos transladar os pontos de tal formaque (Rx, Ry) coincida com a origem.

Page 18: ATRIBUTOS DESEJÁVEIS

TRANSFORMAÇÕES COMPLEXAS TRANSFORMAÇÕES COMPLEXAS

E finalmente, transladamos o ponto de tal forma que a origem retorne para (Rx, Ry):

1

010

001

11

yx RR

yxyx

Page 19: ATRIBUTOS DESEJÁVEIS

TRANSFORMAÇÕES BIDIMENSIONAIS TRANSFORMAÇÕES BIDIMENSIONAIS

x y x y

R R R Rx y x y

1 1

1 0 0

0 1 0

1

0

0

0 0 1

1 0 0

0 1 0

1

cos sin

sin cos

Estas transformações podem ser concatenadas

Se os valores de Rx, Ry e Ø forem conhecidos, as três matrizes podem ser multiplicadas para se tornar uma só matriz de transformação.

Page 20: ATRIBUTOS DESEJÁVEIS

1. Descreva um algoritmo para encontrar os parâmetros da matriz de escalamento (e se necessário, os parâmetro da matriz de rotação) para uma figura que será desenhada sobre uma superfície retangular (folha de papel, tela, etc.) visando normalizá-la para ocupar o máximo espaço desta superfície, sem deformá-la. O algoritmo deve prever o caso, da figura necessitar sofrer uma rotação visando otimizar o preenchimento da superfície. A figura encontra-se armazenada através das coordenadas absolutas de suas primitivas sendo que, no início do arquivo encontram-se armazenados os valores de Xmin, Ymin, Xmax e Ymax que correspondem respectivamente à menor abscissa, menor ordenada, maior abscissa e maior ordenada da figura. Também, como entrada para este algoritmo considere a superfície com diagonal nos pontos (0,0) e (Xs, Ys). Para cada uma das transformações utilizadas no algoritmo, descrever seus parâmetros.

1. Suponha que conheçamos um ponto (x’ , y’) e o fato de ele ser a transformação de um ponto desconhecido (x , y), transformado pela matriz Q. Descreva um mecanismo para encontrar o ponto original (x,y) . Para que área da computação gráfica este algoritmo poderia ser útil ?

CONVERSÃO MATRICIAL DE SEGMENTOS DE RETA (EXERCÍCIOS) CONVERSÃO MATRICIAL DE SEGMENTOS DE RETA (EXERCÍCIOS)

Page 21: ATRIBUTOS DESEJÁVEIS

3. Prove a afirmação de que a transformação de uma linha entre dois pontos A e B é equivalente à linha entre os pontos gerados pelas transformações do ponto A e a transformação do ponto B. Considere apenas as transformações de translação, rotação e mudança de escala.

4. A formulação matricial sugere outras transformações que nós não consideramos, por exemplo, a transformação x’ = x + ay e y’ = y. Você é capaz de caracterizar estas transformações?

CONVERSÃO MATRICIAL DE SEGMENTOS DE RETA (EXERCÍCIOS) CONVERSÃO MATRICIAL DE SEGMENTOS DE RETA (EXERCÍCIOS)