antialiasing mc930 computação gráfica luiz m. g. gonçalves
TRANSCRIPT
![Page 1: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves](https://reader036.vdocuments.net/reader036/viewer/2022081516/552fc111497959413d8c6087/html5/thumbnails/1.jpg)
AntialiasingAntialiasing
MC930
Computação Gráfica
Luiz M. G. GOnçalves
![Page 2: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves](https://reader036.vdocuments.net/reader036/viewer/2022081516/552fc111497959413d8c6087/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081516/552fc111497959413d8c6087/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081516/552fc111497959413d8c6087/html5/thumbnails/4.jpg)
Image TransformationsImage Transformations
SymbolicImage
RenderingDigitalImage
AnalogImage
DisplaySystem
AnalogImage
ScanningDigitalImage
AnalogImage
DisplaySystem
![Page 5: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves](https://reader036.vdocuments.net/reader036/viewer/2022081516/552fc111497959413d8c6087/html5/thumbnails/5.jpg)
Amostragem e reconstruçãoAmostragem e reconstrução
SymbolicImage
SamplingContinuous
ImageDiscreteSamples
Reconstruction
![Page 6: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves](https://reader036.vdocuments.net/reader036/viewer/2022081516/552fc111497959413d8c6087/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081516/552fc111497959413d8c6087/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081516/552fc111497959413d8c6087/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081516/552fc111497959413d8c6087/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081516/552fc111497959413d8c6087/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081516/552fc111497959413d8c6087/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081516/552fc111497959413d8c6087/html5/thumbnails/12.jpg)
Perfect SamplingPerfect Sampling
![Page 13: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves](https://reader036.vdocuments.net/reader036/viewer/2022081516/552fc111497959413d8c6087/html5/thumbnails/13.jpg)
Imperfect SamplingImperfect Sampling
![Page 14: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves](https://reader036.vdocuments.net/reader036/viewer/2022081516/552fc111497959413d8c6087/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081516/552fc111497959413d8c6087/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081516/552fc111497959413d8c6087/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081516/552fc111497959413d8c6087/html5/thumbnails/17.jpg)
CoversCovers
![Page 18: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves](https://reader036.vdocuments.net/reader036/viewer/2022081516/552fc111497959413d8c6087/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081516/552fc111497959413d8c6087/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081516/552fc111497959413d8c6087/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081516/552fc111497959413d8c6087/html5/thumbnails/21.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081516/552fc111497959413d8c6087/html5/thumbnails/22.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081516/552fc111497959413d8c6087/html5/thumbnails/23.jpg)
Reconstrução de amostragens Reconstrução de amostragens estocásticasestocásticas