Interfaces baseadas em traço Claudio Esperança e Emilio Vital Brasil

Preview:

Citation preview

Interfaces baseadas em traço

Claudio Esperança e Emilio Vital Brasil

Motivação

• Comunicação escrita começou com traços• Interface minimalista• Dispositivos móveis• Visão funciona bem com curvas• Meio natural de exprimir geometria

Um traço significa …

• Uma operação num espaço de modelagem– Espaço geométrico– Espaço de categorias ou abstrato

• Uma curva– Lugar geométrico

• Uma trajetória– Lugar geométrico + timestamps

Aplicações

• Interfaces – WIMP – Gestos

• Escrita (reconhecimento caligráfico)• Desenho técnico / artístico• Modelagem

– sólidos / superfícies – Animações (câmeras, objetos)

• Artes– Música– Dança– Visualização artística

Processamento de traços

• Captura• Representação• Simplificação / Reamostragem / Filtragem• Quebra / Agrupamento• Reparametrização• Reconhecimento / Embelezamento• Deformação / Edição• Rendering

Captura

• Coleção de pontos – 2D/3D– com / sem timestamps– Outros atributos (cor / pressão da pena, etc)

• Linhas / Trajetórias poligonais• Alternativamente: curvas obtidas por

processamento de imagens– Contornos– Silhuetas– Bordas de regiões

Representação

• Linha poligonal Array de pontos• Trajetória poligonal Array de

pontos/timestamps• Conversão para splines ou outras

representações– Fitting– Suavização

Simplificação / reamostragem

• Quais pontos são importantes?• Qual o objetivo?– Amostragem pequena mas representativa– Níveis de detalhe– Amostragem pequena mas regular

Algoritmo de Douglas-Peucker

Algoritmo do Emilio (ref?)

• Subdividir segmentos muito grandes• Decimar• Resultado: intervalos regulares mas com boa

representatividade

Quebra / agrupamento

• Quebra– Que partes do traço representam características distintas

• Agrupamento– Que conjunto de traços representam a mesma

característica?

Feature Point Detection and Curve Approximation for Early Processing of Free-

Hand Sketches• Tevfik Metin Sezgin and Randall Davis

Reparametrização

• Dados os pontos de controle de uma spline, como especificar os nós?

• Para cada ponto da curva, alterar alguma propriedade associada, ex.:– Tempo – Cor– Orientação do sistema de coordenadas

Edição temporal de trajetórias

Edição temporal de trajetórias

Reconhecimento

• Inferir intenção do usuário• Objetivos– Classificar – Capturar restrições geométricas

• Frequentemente seguida por uma etapa de embelezamento

Edição / Deformação

• Edição convencional – Acrescentar / remover pontos– Alterar vetores tangentes / normais

• Oversketching• Arraste e deformação– As rigid as possible– RBFs

Modelagem usando traços

• Cilindros genéricos– Extrusão

• Modelagem a mão livre– Curvas de silhueta• Interpolação de superfícies (inflação)

– Operadores de corte/extrusão– Operadores de deformação