Interfaces Caligráficas (Computação Gráfica 2 – Bloco2/2002) Aluno: Eduardo Barrére [email protected] Roteiro Motivação Interface com o usuário Reconhecimento de esboços Aplicações Conclusão Interfaces Caligráficas (CPS751 – Bloco2/2002) Barrére Motivação Pessoal Entender o processo de interpretação e transformação de esboços em elementos geométricos Artigo de referência: Sketching User Interfaces with Visual Patterns Anabela Caetano, Neri Goulart, Manuel Fonseca, Joaquim Jorge; SIACG 2002; Portugal-2002 Interfaces Caligráficas (CPS751 – Bloco2/2002) Barrére Motivação Autores Agilizar a criação e alteração de processos artísticos, tais como projetos arquitetônicos, interfaces de programas, sites .... PR O B LE MA Projeto “Pronto” Esboço PR O PO S TA geração “automática” Esboço Interfaces Caligráficas (CPS751 – Bloco2/2002) Projeto “Pronto” Barrére User Interface Interfaces Caligráficas (CPS751 – Bloco2/2002) Barrére User Interface - Características Visibilidade Maus Exemplos: controle cuja cor se confunde com a cor do fundo Disponibilidade Controles sugerem naturalmente seus usos, descrevendo aquilo que o usuário pode fazer com os itens de interface Bom Exemplo: Controles deslizantes Mau Exemplo: Figuras que se transformam em botões Interfaces Caligráficas (CPS751 – Bloco2/2002) Barrére User Interface - Características Mapeamento Descreve o relacionamento entre a ação do usuário sobre um controle e a reação correspondente do programa Exemplo: Controles de rolagem de tela (setas e guias) Feedback barra de progresso x ampulheta Interfaces Caligráficas (CPS751 – Bloco2/2002) Barrére User Interface - Características Limitação de Funções Impede que o usuário execute ações impróprias para um determinado contexto Exemplo: botões desativados Tolerância a Erros Usuários são humanos, portanto erram Ações que podem ser reversíveis (exemplo, apagar um arquivo) devem ser reversíveis Ações irreversíveis (exemplo: formatar um HD) devem ser avisadas Interfaces Caligráficas (CPS751 – Bloco2/2002) Barrére User Interface Reconhecer X Relembrar reconhecer é mais fácil do que recordar mais reconhecimento (menus e ícones), menos recordação (comandos) a interface relembra as coisas para o usuário usuários experientes tem dificuldade em recordar detalhes da interface, mas sabem como encontrar a informação desejada Interfaces Caligráficas (CPS751 – Bloco2/2002) Barrére Esboço por ser feito “a mão livre”, o esboço não segue regras pré-definidas, ou seja, informações importantes como formato do objeto, continuidade do traço e quantidade de traços para representar um objeto não são bem especificadas. fatores como dimensão e rotação do objeto devem ser reconhecidos Interfaces Caligráficas (CPS751 – Bloco2/2002) Barrére Algoritmo CALI reconhecer formas geométricas elementares e comandos gestuais, independentemente da sua rotação, tamanho ou número de traços que constituem a forma. fazer a distinção entre formas Solid, Dashed ou Bold, depois de identificar a forma base. Interfaces Caligráficas (CPS751 – Bloco2/2002) Barrére CALI - Elementos e Comandos Interfaces Caligráficas (CPS751 – Bloco2/2002) Barrére CALI - Etapas Obtenção dos Pontos Esboço Trata Gestos Lista de Gestos Aplicação Interfaces Caligráficas (CPS751 – Bloco2/2002) Cálculo de Características Identificador Reconhecedor Barrére CALI - Primeira Etapa Obtenção dos Pontos Esboço Trata Gestos Lista de Gestos Aplicação Cálculo de Características Identificador Reconhecedor o algoritmo se inicia com a obtenção de pontos referentes ao esboço (utilizando uma tablete digitalizadora) e o cálculo do polígono convexo correspondente (usando o algoritmo de Graham) Interfaces Caligráficas (CPS751 – Bloco2/2002) Barrére CALI - Segunda Etapa Obtenção dos Pontos Esboço Trata Gestos Lista de Gestos Aplicação Cálculo de Características Identificador Reconhecedor este polígono é então utilizado para calcular três polígonos especiais (os 2 primeiros são o triângulo e o quadrilátero de maior área inscritos no polígono convexo [Boyce 85] e o terceiro é o retângulo envolvente de menor área [Freeman 75]) Interfaces Caligráficas (CPS751 – Bloco2/2002) Barrére CALI - Segunda Etapa calcula-se a área e o perímetro para cada polígono encontrado, de modo a estimar características e graus de pertinência para cada classe de formas Interfaces Caligráficas (CPS751 – Bloco2/2002) Barrére CALI - Terceira Etapa Obtenção dos Pontos Esboço Trata Gestos Lista de Gestos Aplicação Cálculo de Características Identificador Reconhecedor Através manipulação das características obtidas do esboço, é feita a tentativa de identificar o objeto. Interfaces Caligráficas (CPS751 – Bloco2/2002) Barrére ( Lógica Fuzzy ) a Lógica Fuzzy é um superconjunto da Lógica Convencional (Booleana), que foi estendida para trabalhar com o conceito de parcialmente verdadeiro: valores verdade que situam-se entre o completamente verdadeiro e o completamente falso pode ser considerada como uma metodologia para generalizar QUALQUER teoria específica, de um estado discreto (1 ou 0) a um estado contínuo ([0,1]), pelo processo de “difusão” Interfaces Caligráficas (CPS751 – Bloco2/2002) Barrére (Lógica Fuzzy - exemplo ) "quando podemos considerar uma pessoa ALTA ?" ALTA é descrita como sendo uma variável lingüística, a qual representa uma categoria cognitiva de ALTURA. Para cada pessoa no universo de discurso, devemos atribuir um grau de pertinência referente ao subconjunto fuzzy ALTO. O modo mais fácil de resolver isso é determinar uma função de pertinência baseada na altura das pessoas: alta(x) = 0, se altura(x) < 1.50 m (altura(x) - 1.50 m) / 0.2 m , se 1.50 m <= altura(x) <= 1.70 m 1, se altura(x) > 1.70 m Interfaces Caligráficas (CPS751 – Bloco2/2002) Barrére ( Lógica Fuzzy - exemplo ) Significa que uma pessoa é considerada alta nos seguintes termos: Se sua altura for menor que 1.50 m, a pessoa não é alta (alta= 0) Se sua altura for um valor entre 1.50 m e 1.70 m, é alta com um certo grau de pertinência (0<alta<1), ou seja, não é totalmente alta Se sua altura for maior que 1.70 m, a pessoa é alta (alta=1) Graficamente, podemos representar da seguinte forma: alta(x) 1 0,5 0 1,50 Interfaces Caligráficas (CPS751 – Bloco2/2002) 1,60 1,70 altura(x)a Barrére ( Lógica Fuzzy - exemplo ) Dada esta definição, podemos, exemplificar da seguinte forma: Pessoa Altura(m) Joaquim 1,45 Carlos 1,56 Pedro 1,60 Maria 1,65 José 1,75 Grau 0 0,3 0,5 0,75 1 Interfaces Caligráficas (CPS751 – Bloco2/2002) Conclusão não é alto alto com 0,3 de pertinência alto com 0,5 de pertinência alta com 0,75 de pertinência alto Barrére CALI - Terceira Etapa Relação Altura x Largura do retângulo envolvente Interfaces Caligráficas (CPS751 – Bloco2/2002) Barrére CALI - Terceira Etapa Outras características consideradas: Pch: perímetro do polígono Convexo Plq: perímetro do retângulo inscrito Plt: perímetro do triângulo inscrito Per: perímetro do retângulo envolvente Ach: área do CH Alq: área do retângulo inscrito Ns: Número de traços etc. Interfaces Caligráficas (CPS751 – Bloco2/2002) Barrére CALI - Quarta Etapa Obtenção dos Pontos Esboço Trata Gestos Lista de Gestos Aplicação Cálculo de Características Identificador Reconhecedor caso o elemento esboçado seja um Gesto, faz-se a operação correspondente na aplicação ( apagar, recortar, ... ) Interfaces Caligráficas (CPS751 – Bloco2/2002) Barrére CALI - Ambigüidade Interfaces Caligráficas (CPS751 – Bloco2/2002) Barrére Avaliação Experimental Foi solicitado a um grupo de usuários que desenhassem cada forma repetidamente usando linhas normais ou tracejadas. Tipo Gesto Individual Grupos Primeira Escolha 92% 93% Interfaces Caligráficas (CPS751 – Bloco2/2002) Três Primeiras 93% 94% Barrére Aplicações INESC-ID, Instituto de Engenharia de Sistemas e Computadores: Investigação e Desenvolvimento (http://immi.inesc-id.pt/ ) CALI Java Sketchit FRAG Interfaces Caligráficas (CPS751 – Bloco2/2002) Barrére Aplicações DEPARTAMENTO DE ARQUITETURA DA UNIVERSIDADE DE WASHINGTON Interfaces Caligráficas (CPS751 – Bloco2/2002) Barrére Conclusão a utilização de um bom conjunto difuso é essencial para o sucesso destas interfaces os casos de ambigüidade são comuns e difíceis de serem tratados automaticamente a implementação de uma interface mais natural e intuitiva é um dos principais desafios dos projetos de Interfaces Caligráficas. Interfaces Caligráficas (CPS751 – Bloco2/2002) Barrére Bibliografia Sketching User Interfaces with Visual Patterns Anabela Caetano, Neri Goulart, Manuel Fonseca, Joaquim Jorge; SIACG 2002; Portugal-2002 CALI : A Software Library for Calligraphic Interfaces Manuel Fonseca and Joaquim Jorge; IX Encontro Português de Computação Gráfica, Portugal-1999 Drawing on the Back of an Envelope: a framework for interacting with application programs by freehand drawing Mark D. Gross, Ellen Yi-Luen Do; Computers & Graphics 24 (2000) 835849 Interfaces Caligráficas (CPS751 – Bloco2/2002) Barrére