Kana DS

Learning Japanese writing on the Nintendo DS

12 November, 2006

Reconociendo formas - Prueba de concepto

Antes de pasar a la acción, es necesario explicar algo más sobre la escritura japonesa. Tanto los caracteres hiragana, katakana como kanji se deben escribir siempre con el mismo número de trazos y en el mismo sentido. ¿Por qué es importante que todo el mundo mantenga el mismo número, orden y sentido de los trazos?
  1. Facilita la lectura de manuscritos, al escribir todos de la misma manera.
  2. Ayuda a distinguir símbolos similares, como por ejemplo los katakana シ(shi) y ツ(tsu).
Ejemplos: Excelente página con animaciones mostrando la escritura de todos los kana

Un punto crítico de Kana DS es el reconocimiento de estos carácteres mediante la pantalla táctil de Nintendo DS. Sería un error por mi parte el empezar a desarrollar la aplicación sin saber si voy a ser capaz de lograr un funcionamiento decente de este módulo, ya de él depende la "gracia" de la aplicación.
Aunque no he hecho una búsqueda exhaustiva de algoritmos de reconocimiento de la escritura, he encontrado uno bastante simple, cuyas limitaciones son precisamente los requisitos de la escritura japonesa antes comentados: mismo número, orden y sentido de los trazos :). El algoritmo en cuestión se encuentra aquí:
Recognition of handwritten gestures, by Oleg Dopertchouk
http://www.gamedev.net/reference/articles/article2039.asp

He desarrollado un pequeño applet como "prueba de concepto", que puede probarse haciendo click en la imágen siguiente:


Instrucciones de uso:
  • Dibujar la forma o caracter que queremos reconocer
  • Pulsar en el botón "set gesture" para registrar la forma actual como plantilla
  • Dibujar la misma forma de nuevo. Si coinciden, veremos la cadena "match? yes" a la derecha del applet.
  • Pulsar en el botón "erase" para borrar la forma o caracter actual.
  • Si no os arranca el applet, instaláos el JRE (Java Runtime Engine)
El algoritmo funciona bastante bien de entrada, aunque requerirá modificaciones ya que le cuesta diferenciar kanas similares en los que sólo varia una parte del trazo final, como es el caso de れ(re), わ(wa) y ね(ne). De todas maneras estoy bastante contento con el funcionamiento inicial, tenía miedo de que este módulo fuese demasiado difícil y pudiese bloquear por completo el proyecto. Así que de momento seguiré puliendo el applet y el algoritmo, no tengo prisa por meterme con la programación de Nintendo DS..

En la próxima entrada publicaré una versión mejorada del applet y subiré el código fuente al repositorio de la forja.

5 Comments:

At 03:54, Anonymous penyaskito said...

Está increíble.

 
At 01:36, Blogger Julio Gorgé said...

Gracias por los ánimos : )

 
At 16:36, Anonymous Anonymous said...

it's a great idea!!! when are you going to finish it?

 
At 16:39, Blogger Julio Gorgé said...

Well, Kana DS is signed up to an spanish opensource development contest, which will end by spring 07(april or so). I'd like to have it finished by then, although it won't be a full-blown training solution.

Hopefully I will be able to keep on working on it after the contest.

 
At 00:18, Blogger Mars Attacks said...

Das verdadero miedo. Recuérdame que no me acerque demasiado a ti...

 

Post a Comment

Links to this post:

Create a Link

<< Home