Teclado Virtual MAC0420/MAC5744 Introdução Computação Gráfica - IME – Instituto de Matemática e Estatística USP – Universidade de São Paulo
Teclado VirtualMAC0420/MAC5744
Introdução Computação Gráfica
-
IME – Instituto de Matemática e EstatísticaUSP – Universidade de São Paulo
GrupoCristina Fang
Daniel M. G. CluaPaulo Cheque
Vivian D. Betoni
Introdução
• Interação Homem-Computador
• Usabilidade;
• Usuário é o mais importante;
• Teclados convencionais;
• Adaptação do usuário X Adaptação da ferramenta.
• Inclusão digital de pessoas com deficiências motoras;
• Criação de um editor de textos com entrada de dados vetorial;
Objetivos
Modelo
• Faixa de teclas que formam uma circunferência, rotacionando na horizontal;
• Comandos para:
• selecionar/apagar um caracter;
• Inserir espaços;
• salvar/carregar um texto.
Linguagem e Ferramenta
• Linguagem: Java (Plataforma Eclispse);
• JMonkey Engine (recursos gráficos OpenGL): Usa a LWGJL (Lightweight Java GAme Library).
Conceitos
• Espaços e Sistemas de Coordenadas;
• Criação de objetos gráficos;
• Transformações Geométricas;
• Posição da câmera;
• Aplicação de cores e textura;
• Iluminação e normais.
Conceitos: Espaços e Sistema de Coordenadas
• Dois sistemas de coordenadas:
• Tridimensional: Faixa de teclas;
• Bidimensional: cursor, comandos, texto
• JMonkey: classe Vector3f > vetor 3D. Exemplo: Vector3f vetor = new Vector3f(3,2,0);
Conceitos: criação de objetos gráficos
• Objetos: suporte (formato geométrico) + função de atributos (ex: cor, textura);
• Malha poligonal: decomposição de objetos complexos em formas mais simples, neste projeto foram utilizados triângulos;
• JMonkey: classe Trimesh (malha triangular) -vértices, normais, cores e textura;
Conceitos: criação de objetos gráficos
Conceitos: transformações geométricas
• Translação: utilizada para posicionar os objetos apropriadamente.
• Rotação: usuário seleciona a letra rotacionando um cilindro
• JMonkey: Classe Quaternion
Conceitos: posição da câmera
• A câmera utilizada é a padrão criada pelo JMonkey, posicionada na origem do espaço;
• A câmera é mantida estática, pois são os objetos que se movem na cena.
Conceitos: Aplicação de cores e texturas
• Cores: Sistema RGB;
• Teclas de cor branca ou aleatória (quando selecionada)
• Cada caracter possui uma imagem correspondente.
• A textura é aplicada na face frontal do objeto.
• JMonkey: Classes Texture State e Texture
Conceitos: Aplicação de cores e texturas
• Fonte de luz pontual;
• Cor difusa: branca;
• Cor ambiente: preta;
• Teclas centrais mais iluminadas, laterais sombreadas;
• JMonkey: Classe PointLight.
Conceitos: Iluminação
Conceitos: Iluminação
• As normais são passadas manualmente;
• Colorização (shading): Flat Shading ou Smooth Shading (modelo de Gouraud);
• Utilizou-se Smooth Shading.
O aplicativo
Configurando o aplicativo
Funcionamento
• A faixa central de letras é utilizada para buscar a letra que queremos selecionar.
• A faixa superior aparece quando o mouse fica acima da faixa central, dando opções para selecionarmos caracteres especiais
• Zonas de velocidades (duas velocidades possíveis)
Exemplo: Selecionando a letra p maiúscula
P substitui o pno disco seletor
Letra selecionada muda de cor
É possível escrever textos com símbolos, letras (maiúsculas, minúsculas, acentuadas), números.
Pesquisas atuais
• Dasher
• Interface utilizando zoom
• Utiliza probabilidades para determinar o tamanho da letra e um modelo baseado na liguagem
Pesquisas atuais
• GOK, teclado convencional é mostrado na tela do computador
Evoluções possíveis
• Criação de outros tipos de interfaces;
• Integração com outros tipos de dispositivos, como por exemplo um rastreador de olhar;
• Acréscimo de funcionalidades próprias dos editores de texto convencionais.
• Principais objetivos propostos foram atingidos;
• Diferentes conceitos vistos em sala de aula puderam ser utilizados;
• A interface é de fácil utilização e não requer conhecimento/aprendizado prévio;
• Velocidade é baixa comparada ao uso de um teclado convencional, mas é aceitável por se basear apenas em movimentos vetoriais.
• Portabilidade (testes em Windows, Linux e Macintosh)
Conclusões
Referências
• http://lwjgl.org;
• http://www.jmonkeyengine.com;
• Velho, Luiz; Gomes, Jonas. Sistemas Gráficos 3D. 1ª edição. Rio de Janeiro: IMPA. 2001;
• Gomes, Jonas;Velho, Luiz.Fundamentos da Computação Gráfica. 1ª edição. Rio de Janeiro: IMPA. 2003.
• http://wwwinference.phy.cam.ac.uk/dasher/
• http://www.gok.ca
Fim!