Coder Social home page Coder Social logo

virtual-jonah's Introduction

Virtual Jonah

Virtual Jonah lê uma descrição em XML de uma sequência de sinais para que um avatar animado em 3D sintetize os movimentos no espaço virtual para representar estes sinais descritos no XML.

A modelagem dos sinais (estrutura do XML) é determinada pelo projeto sign-model.

Tecnologias

A API gráfica utilizada é o Processing (uma API em Java que por baixo utiliza o OpenGL).

Os modelos gráficos foram feitos no 3DStudioMAX e exportados no formato texto OBJ, que é lido pela aplicação.

Comandos

  • x: carrega sinais de resources/xml/signs.xml.
  • c: carrega todas as configurações de mão.
  • s: carrega um sinal específico do arquivo signs.xml. O nome do sinal deve ser escrito no console.
  • t: carrega sinais da suíte de teste.
  • y: executa sinais.
  • Espaço: executa próximo símbolo.
  • a, d, w, s, q, e: controle de câmera.

Comandos devem ser executados com foco no applet.

Captura de tela

Captura de tela do Virtual Jonah

English description

Virtual Jonah software reads a XML description of a sign sequence and the avatar synthesizes the movements to represent such signs.

The sign modeling is defined on the sign-model project.

virtual-jonah's People

Contributors

leonardofl avatar guiyoshita avatar

Stargazers

Maria Aparecida Falcão avatar Faria Huq avatar GPII Developer Space avatar  avatar

Watchers

Marcelo Li Koga avatar  avatar  avatar James Cloos avatar  avatar  avatar HulyaCetin avatar  avatar  avatar  avatar

virtual-jonah's Issues

Criar dependência para SignModel com Gradle

Usar o Gradle pra pegar o projeto Java "SignModel" e torná-lo como uma dependência do projeto "VirtualJonah".

Obs1: hj o VJ depende do SingModel por meio de um JAR do SignModel que fica no projeto do VJ. No caso, depois de passar a usar o gradle, precisamos nos livrar desse JAR.

Obs2: deixar uma explicação sobre como usa o Gradle nesse contexto nosso para que outras pessoas possam compilar o projeto.

Bateria de testes

A bateria de testes do VJ hoje pode ser considerada a observação dos sinais executados a partir do arquivo signs.txt. Mas este arquivo possui muitos sinais. Acho que seria bom uma suíte mais minimalista, que tenha sinais criteriosamente selecionados para o exercício dos diferentes atributos do sign-model.

Assim fica menos desgastante testar o VJ, o que funciona como incentivo para que os testes sejam executados mais vezes.

ModelsLoader deve carregar todos os modelos disponíveis

Atualmente para cada configuração de mão é preciso adicionar um par de linhas em ModelsLoader, mas a classe poderia simplesmente carregar todos os modelos disponíveis na pasta dir e esq, fazendo o match do nome do arquivo com o nome da configuração de mão.

Retirar suporte a objetos serializados

O VJ suporta executar sinais que são passados:

  1. diretamente, como objetos
  2. salvos em um XML
  3. salvos em um arquivo serializado (serialização de objetos padrão do Java).

3 me parece uma feature não utilizada e que complica a manutenção. acho q deveria ser eliminado esse suporte.

Colocar JUnit no Path

Tentei o seguinte no build.gradle:

 dependencies {
   compile name: 'sign-model-2.1.2'
   compile fileTree(dir: 'lib', include: ['*.jar'])
+  testCompile group: 'junit', name: 'junit', version: '4.+'
 }

Mas como temos

repositories {
  flatDir {
    dirs signModelProjectLocalDir + signModelRepositorioFlat
  }
}

aí eu acabo obtendo o erro

Could not resolve all dependencies for configuration ':compileClasspath'.
> Could not find any matches for junit:junit:4.+ as no versions of junit:junit are available.
  Searched in the following locations:
      file:/home/leonardo/workspaces/poli-libras/sign-model/repositorioFlat/
  Required by:
      :virtual-jonah:unspecified

Consegue ajudar @mlk3 ?

Pausa na transição entre os símbolos

Transição com velocidade rápida foi implementada. Movimento está rápido dentro de um símbolo, mas há uma pausa inconveniente entre os símbolos. Tratar isso para o movimento ficar mais fluído (como era com o movimento rápido).

Exemplo de sinal afetado: INGRESSO

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.