Esta página está en construcción: perdonen los errores, repeticiones y temas inacabados.
 
This page is being developed: I am sorry for errors, duplications  and unfinished subjects.
 
 
Proyecto Danzante. Archivos de movimiento en Kinect   (incluido en Danzante)
 
A  petición de Antonio II (Mariscal) creamos unos archivos que recojan el movimiento (o sea, las posiciones de las articulaciones) en momentos sucesivos. Pretende procesar esos movimientos  con otros lenguajes que el que utilizamos nosotros (que es Visual Basic), como Processing. De hecho usa otra plataforma, MacIntosh, con lo que empezamos a comunicarnos con ella, y con otras.
 
Los archivos han sido llamados Mociones, y llevan la extensión (tipo de archivo) 'mcn' (en general son *.mcn, con asterisco representando cualquier nombre legal). Estas mociones se almacenan también durante la ejecución de la aplicación en la memoria, en formato muy similar, pero que no incluye el número de cuadro (frame), que es evidente por el índice de fila en que están guardadas las coordenadas..
 
Se trata de un texto ASCII (letras y números ) perfectamente legible por máquinas y humanos. Insertamos etiquetas literales para que estos últimos identifiquen la naturaleza de los números (variable que representan) y además sirvan de confirmación a las máquinas de que la estructura de datos es la esperada (leer correctamente lo escrito). Por ejemplo:
 
Comienzo de archivo: danzante_mocion 3b.mcn
SITUACIONES de las ARTICULACIONES del ESQUELETO KINECT
Coordenadas de pantalla
Coordenadas relativas(0.absolutas.1.relativas_a_centro_cadera:
1
Numero_pulsos:
884
Muñecas izquierda y derecha:
Articulaciones:
2
pul ms xizq yizq xder yder
0 0 0 0 0 0
1 115 -104 -40 129 -126
2 116 -90 -38 137 -133
3 119 -71 -65 160 -121
4 121 -76 -105 159 -114
5 123 -101 -152 164 -104
6 125 -123 -166 157 -113
7 128 -143 -190 165 -133
8 131 -157 -193 165 -173
9 134 -160 -177 167 -199
10 135 -156 -174 169 -206
11 137 -146 -195 168 -191
12 138 -131 -191 160 -186
13 138 -113 -182 158 -196
14 139 -109 -180 156 -170
15 140 -116 -149 157 -168
16 141 -110 -152 162 -153
17 142 -118 -147 160 -162
18 143 -111 -116 164 -187
19 143 -98 -135 160 -157
20 143 -108 -145 161 -158
21 143 -96 -114 164 -189

.....

 

 
Este formato (ampliable) permite almacenas desde 2 articulaciones, como es ente caso, hasta las 20 que 'percibe' la Kinect 1, o éstas aumentadas con la adicionales de la Kinect 2.
 
Se usan números de 16 bits con signo para contener esos números, lo que permite cantidades desde unos 32000 a +32000. Así que podemos codificar las coordenadas como coordenadas de pantalla, cercanas al centímetro o como milímetros, o incluso décimas.
 
Estas mociones son muy útiles además, para poder tocarlas en cualquier momento, con los convenios de D8 y D9 , o con cualquier otro que se nos ocurra. Almacenamos pues movimientos, o sea, funciones temporales de varias variables, tantas como el número de articulaciones multiplicado por 3 (3 coordenadas en el espacio). Así podemos dibujar ese movimiento del esqueleto, como se hacía en tiempo real, ahora diferido. Podemos estudiar estadísticamente los movimientos y posiciones, detectando preponderancias, constantes... en fin, nos va a permitir estudiar y conocer ese movimiento; claro, en relación con nuestra aplicación danza-música.
 
Durante la reproducción en diferido de una moción podemos ir variando en tiempo real (de reproducción) los parámetros (tono, tempo, timbre, escala, acordes, ritmos...)  que incorpora la versión de actual de Danzante (en principio es D9) para elegir los efectos musicales y sonoros preferibles. Incluso podemos ir variando el paradigma y comprobar repetidamente cuál de ellos produce interesante (incluso bella) música.
 
Pero también podemos estudiar otros movimientos sin relación en p`rincipio con la música: andar, sentarse, nadar, remar, cavar, aserrar. Otra ventaja reside en que podemos desarrollar Danzante, la aplicación, sin la cámara, ya que contamos con mociones grabadas con las que se puede depurar sus comportamiento y efecto musical.
 
En la figura vemos la nube de puntos para ambas muñecas correspondiente a mocion_3b. El uso de coordenadas relativas a su centro (centro de hombros, articulación 2). Estas coordenadas relativas a ese centro agrupan las nubes y reflejan el área
'natural¡ de movimiento de esas extremidades, que como máximo serían círculos con centro en sul hombro, y radio la longitud del brazo. En la figura esos círculos se parecen más a los dos semicírculos exteriores. Están situados algo bajos porque no hemos almacenado las del centro citado y lo hemos supuesto situado hacia el medio de la pantalla.
 
 
que también podemos ver en su trayectoria:
 
 
Ahora bien el uso de coordenadas de pantalla priva a estos datos de generalidad, ya que se pierde una coordenada, la profundidad, z. Las dos que quedan, x e y, además, están afectadas de una ambigüedad: las distancias son mayores cuanto más nos acercamos, como hace el ojo, con lo que no son verdaderas distancias. Podemos normalizarlas con la citada profundidad z, porque aunque no la incluimos como tal, está codificada en la segunda columna, el tempo, representado por el intervalo en ms entre pulsos; en el convenio usado en D8 y D9, este intervalo es proporcional a z (véanse las funciones en Funcion-mapping-de posición a rasgos sonoros.
 
Vean ahora las mociones para esqueleto completo (20 articulaciones) en Archivos de movimiento en Kinect con esqueleto completo y además: Almacenamiento de danza y música.
 
 

 
Vuelta al Principio    Última actualización: domingo, 06 de septiembre de 2015    Visitantes: contador de visitas