Teclado Virtual - IME-USPcheque/apresentacaocg.pdf · 2008. 7. 2. · Teclado Virtual...

Post on 18-Aug-2021

3 views 0 download

Transcript of Teclado Virtual - IME-USPcheque/apresentacaocg.pdf · 2008. 7. 2. · Teclado Virtual...

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!