Upload
internet
View
115
Download
4
Embed Size (px)
Citation preview
Artigo Original
Computer-Generated Pen-and-Ink Ilustration
● Georges Winkenbach● David H. Salesin● SIGGHRAPH 1994
Introdução
Por que usar ilustrações?
● Omitir detalhes● Focar aspectos relevantes
● Simplificar as formas● Evidenciar pequenos detalhes
● Economia de armazenamento● Fácil reprodução
Introdução
● Por que pen-and-Ink?– As convenções estão bem documentadas
● O que foi produzido?– Como implementar princípios desta
técnica em um sistema automatizado
Sobre pen-and-Ink...
● Cor/tom: não disponíveis● Grandes áreas: demorado para preencher● Clarear um tom: é quase impossível
● Para esboços: são ideais devido a expressividade de cada traço:– Pressão e regularidade
● Tom e textura: Expressos simultaneamente ● Em textos: Combinam muito bem
Pen-and-Ink: Traços
● Traços finos: clareza● Traços largos: pouco detalhe
● Posição da caneta: muda frequentemente, podendo girar
● Não-mecânicos: é bom variar espessura● Ondulações: para um desenho esquemático
ou apenas um rascunho
Pen-and-Ink: Tons e texturas
● O tom:– obtido com diversos traços– razão entre tinta preta/papel branco
● Variação entre tons: é mais importante que a exatidão de um tom
● Forma dos traços: indica textura, geometria e a luminosidade
● Basta uma “indicação”: não se deve preencher toda uma superfície com o mesmo tom
Pen-and-Ink: Contornos
● Não existem contornos em imagens reais!– Incluídos para indicar a forma, onde não houver
textura, ou sua variação
● Basta “indicá-los”: assim como as texturas● Contornos espessos: sombras e destaques ● Extremos: podem ser deslocados para não
parecer mecânico
Implementação
● Leva em conta a relação tom x textura:– Renderização realística: coisas independentes– NPR com Pen-and-Ink: dados simultaneamente
● Combina informações 2D e 3D:– O tamanho da área projetada:determina a densidade dos traços por textura
– O contraste entre regiões adjacentes:influencia o traçado dos contornos
Pipeline: parte típica
● Modelo:– Poligonal em 3d
● Textura:– Stroke Textures em lugar de imagens
● Visibilidade:– BSP Tree
● Sombras:– BSP Tree shadow volumes (Chin & Feiner)
Pipeline: Novidades
● Sub-divisão espacial 2d das superfícies visíveis usando uma estrutura de halfedge
● Ao renderizar texturas é usado um tipo de hatching em lugar de scan converting
● O clipping é baseado em traços em vez de pixels, para evitar uma aparência mecânica
● Outlining: os contornos são colocados tanto na fronteira quanto no interior dos polígonos
Uma breve descrição
● Cálculo de superfícies visíveis e sombras
● Projeção dos polígonos para NDC
● Geração de uma BSP tree 2D
● Renderização de cada superfície visível
● Associação das texturas procedurais com as superfícies (com o tom adequado)
● Clipping dos traços
● Contornos
O algoritmo
● M: modelo (uma coleção de polígonos)● BspTree: Representação dos polígonos projetados para
NDC● PlanarMap: Uma partição de NDC em vértices, arestas e
facesprocedure RenderScene(M):
(BspTree, PlanarMap) <-- VisibleSurfaces(M)for each visible surface S in M do
Strokes <-- Texture(S, Tone(S))for each stroke s in Strokes do
Render (ClippedStroke (s, BspTree))end for
Render(ConstructMinimalOutline(S, PlanarMap))end procedure
Stroke Textures
● Stroke texture: uma coleção de traços● Traço S: definido por um caminho P(u)● Forma da caneta: dada pela função N(p)● Ondulação e pressão: indicados através de
funções Cw(u) e C
p(u)
Stroke Textures
● Uma lista de texturas é usada para obter os
diferentes tons de uma textura
Resolução
● Texturas dependem da resolução● Consegue-se evitar situações como:
“Engrossamento” das linhas
“Excesso”de linhas
Resolução
● Exemplo de textura dependente da resolução:
Indicação é semi-automática
Indicação é semi-automática
Indicação é semi-automática
Indicação
● A quantidade de textura em cada ponto, é
determinada pelo campo:
● O campo é perturbado por um pequeno valor
aleatório para não parecer muito regular
Mais sobre o contorno...
● Cada stroke texture
está associada com
seu próprio estilo de
contorno
Mais sobre o contorno...
● Minimiza-se o uso de contornos● São acentuados onde há relevos ou sombras● Dependem da direção do observador
Resultados
● Foi usado ThinkC em um Macintosh Quadra 700● A ilustração consiste de 1073 polígonos● Foi computada e impressa em 30 min.
– 22 min. foram gastos para obter o mapa planar
– O restante foi gasto na renderização em 600dpi
Resultados
Perguntas?