Top Banner
Antialiasing Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves
23

Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves.

Apr 17, 2015

Download

Documents

Internet User
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves.

AntialiasingAntialiasing

MC930

Computação Gráfica

Luiz M. G. GOnçalves

Page 2: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves.

AliasingAliasing

“Aliasing” ocorre quando a taxa de amostragem do sinal não é adequada para sua reconstrução, criando ilusão de um sinal de baixa frequência.

Page 3: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves.

ImagesImages• Imagens analógicas

– região 2-D de cor variada– ex: imagem ótica, sinal eletrico do monitor– Imagem simbólica– Qualquer função de duas variáveis reais– ex: sin(x2 + y2)

• Imagem digital– array 2-D valores de cor c/ espaçamento

uniforme– ex: frame-buffer

Page 4: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves.

Image TransformationsImage Transformations

SymbolicImage

RenderingDigitalImage

AnalogImage

DisplaySystem

AnalogImage

ScanningDigitalImage

AnalogImage

DisplaySystem

Page 5: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves.

Amostragem e reconstruçãoAmostragem e reconstrução

SymbolicImage

SamplingContinuous

ImageDiscreteSamples

Reconstruction

Page 6: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves.

Transformada deTransformada deFourier1-DFourier1-D• Tira qualquer sinal I(x)

fora de ondas senoidais• Converte domínio do

tempo em frequência• Permite usar espectro

de frequência F(u)• F(0) = “termo DC” ou

média do sinal• F(-u) = F(u)

dujuxuFxI

dxjuxxIuF

)exp()(2

1)(

)exp()(2

1)(

)/arctan(arg

sincos)exp(

1

22

2

abbja

babja

uxjuxjux

j

I

x

F

u0

p 1/p

Page 7: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves.

ConvoluçãoConvolução

• Convolução de ondas quadradas com ondas quadradas resulta em onda triangular

• f*g FG

• fg F*G

dssthsgthg )()())(*(

Page 8: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves.

Filtragem passa-baixaFiltragem passa-baixa

• Transf. Fourier de uma função box é uma função sinc

• Conv. com uma função sinc é filtro passa-baixa ideal

• Multiplica altas frequências por zero

Page 9: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves.

Amostrando o sinalAmostrando o sinal

p 1/p

I(x)

s(x)

(Is)(x)

(Is’)(x)

s’(x)

F(u)

S(u)

(F*S)(u)

S’(u)

(F*S’)(u)

Page 10: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves.

Teorema de ShannonTeorema de Shannon

Um sinal cujo espectro não possui energia acima de uma frequência f pode ser recuperado com amostragens a uma taxa de 2f ou mais

Page 11: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves.

Transformada de Fourier 2-DTransformada de Fourier 2-D

dxdyvyuxjvuFyxI

dxdyvyuxjyxIvuF

))(exp(),(2

1),(

))(exp(),(2

1),(

fy

fx

I(x,y)

Page 12: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves.

Perfect SamplingPerfect Sampling

Page 13: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves.

Imperfect SamplingImperfect Sampling

Page 14: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves.

Antialiasing MethodsAntialiasing Methods

• Aproximar uma amostragem de area– com uma amostragem por área analítica– com uma amostragem por pontos de um objeto

suavizado (“borrado”)– com muitas amostragens discretas

Page 15: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves.

Traçando num coneTraçando num cone

• Amanatides SIGGRAPH 84

• Troca raios por cones

• Cone amostra área de um pixel

• Intersepta cone com objetos– Soluções analíticas similar a “ray tracing”– Custoso

Page 16: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves.

Traçando com um canhãoTraçando com um canhão• Heckbert & Hanrahan SIGGRAPH 84

• Troca raios por piramides generalizadas

• Interseção com cenas poligonais– Interseção plano-plano fácil e rápido– Anti-aliasing usando “scan conversion”

• Pode executar traçado por canhão recursivo– Cena transformada para um novo ponto de vista– Resultado é “clipado” p/ um polígono refletivo

Page 17: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves.

CoversCovers

Page 18: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves.

Super-amostragemSuper-amostragem

• Traçar a uma solução alta, manter média

• Amostragem adaptativa– traçar a uma resolução alta só onde necessário

• Problemas– Não elimina “aliases” (e.g. moire patterns)– Transforma “aliases” em “higher-frequency”– Devido a uniformidade de amostragens

Page 19: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves.

Amostragem estatísticaAmostragem estatística

• Olho é extremamente sensível a padrões

• Remove padrões da amostragem

• Torna aleatório padrão de amostragem

• Resultado: padrão -> ruído

• Alguns ruídos são melhores que outros

Page 20: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves.

PadrõesPadrões

• “Jitter”– Pega n pontos aleatórios no espaço-amostragem

• “Jitter” uniforme– Subdivide o espaço-amostragem em n regiões

• Disco de Poisson– Pega n pontos aleatórios, mas não próximos

Page 21: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves.

Amostragem estatística Amostragem estatística AdaptativaAdaptativa

• Proximidade inv. proporcional à variancia

• Como gerar padrões em vários níveis?– Cook: Jitter numa quadtree– Dippe/Wold: Jitter numa k-d-tree– Dippe/Wold: Disco Poisson “on-the-fly” (lento)– Mitchell: Pre-comp. níveis - ráp. mas granular

Page 22: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves.

ReconstruçãoReconstrução

nn

nnn

xxk

xgxxkxg

)(

)()()(

g(x1)

g(x2)g(x3)

g(x4)

k

Page 23: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves.

Reconstrução de amostragens Reconstrução de amostragens estocásticasestocásticas