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. Manejo de objetos virtuales (incluido en Danzante)
 
A raíz de  Danzante y escultura se nos ocurre ele tam del título: el esqueleto interaccopna, maneja, jiega con objetos virtuales, como esferas, pirámides, prismas, trinagulos, y6 esculturas fefinidioa todos como grafos.
 
La posición relativa de las articulaciones, por ejemplo, las manos, determinan la posición y tamaño del objeto virtual en el espaco.
Comencemos con esferas
 
¿Pero qué es un objeto virtual?
 
Lo definimos, tras una reflexión, como un par de conjuntos, uno de puntos en el espacio (3D) y otro de ligaduras o conexiones entre ellos. O sea
OV = (P,C)
 
P contiene un número en principio finito de puntos, definidos por sus coordenadas respecto aun origen.
C contiene un numero en principio finito de conexiones entre esos puntos, definidas mediante sus dos puntos extremos.
C debe contener conexiones que enlacen todos los puntos, al menos una vez. Esto no sería indispensable, pero conviene al carácter compacto que los objetos naturales tienen en nuestra percepción general. Nada nos impide entonces asociar dos o más objetos de manera solidaria en una conexión que podemos llamar de alto nivel.
 
Y el conjunto P puede rambien moverse, sometido a las operaciones en el espacio Giro y Translación. Puede o no añadirse la Homotecia o Escalado, opracion que deforma, es decir, cambia la forma dfel objeto que las dos anteriores no hacen.
 
Los puntos de P pueden moverse respecto a los demás, pero, siempre en principio conservan la distancia mutua. es decir las conexiones c tienen, cada una, una propiedad que es una distancia, en principio, constante.
Los esqueletos y pseudoesqueletos que aparecen en Danzante son, pues, un caso particular de OV. No es extraño, pues los OV han sido concebidos como generalizaciones de ellos, con la incorporación de las propiedades habituales de los llamados objetos naturales en nuestra experiencia cotidiano: tazas, bicicletas, tijeras, navajas... es decir, objetos con algún movimiento interno: sistemas articulados..
 
La definición de C en cada caso ha puede realizarse de dos maneras (al menos), ola primera consiste en una matriz de nxn (n es el nimero de nudos o articulaciones) cuyos valores son 1 o 0 segun esté o no conectados los puntos correspondientes a la fila y la columna. ES un a matriz muy grande con poscos valores no nulos. Lo que llaman una matriz sparse, o sea, esparciada o poco densa. Los valores son simples, de un bit.
 
En general, pues, en este caso:
 
C = (R)    y      OV ' = (P,R)
 
El segundo consiste en cubrir todas las coneziones medinate ramas o mejor multiramas que son cadenas de nudos conectados en cadena.
Los esqiletos kinect presentan estas cinco ramas: (0-1-2-3),(2-4-5-6-7),(2-8-9-10-11),(0-12-13-14-15),(0-16-17-18-19)correspondientes a Columna, Miembros superiores derecho e inquierdo, Miembros inferiores derecho e inquierdo, a las que añadimos por adorno o antropomorfismo (4,1,8), torso y (13,0,17), muslos. Añadimos además una elipse en (3), cabeza, pero no la incluimos en las ramas.
 
Esta definición no es única, y puede haber redundancias. Por ejemplo la mera inversión del orden de los nudos en cada rama produce el mismo efecto a efectode conxion y dibujo.  Asimismo variando C o P, varía el objeto. En el caso de que los cambionde P estén sometidos a ligaduras, por ejemplo, que las distancias entre nodos conectados sea constante, tenemos un objeto virtual articulado,  OVA, que se definirá como:
 
OVA = ((P,L)C)  o bien  (P,L,C)
  
Se pasa de una a otra definiciones mediante algoritmos sencillos.
 
Las multirramas son operativas porque para dibujar las conexiones son utilizadas, en una sucesión que sigue la rama. Se presentan, al dibujar, las situaciones de Comienzo de rama, Continuación de rama, Final de rama.
 
En la figura aparece un objeto virtual atípico. Es curvilíneo, de una sola rama de longitud la de una circunferencia, cuyos puntos equidistan de otro fijo una distancia llamada radio: es un aro, una circunferencia agarrada por el danzante. Conviene recordar que el esqueleto ha sido captado por la cámara Kinect, mientras que el aro es totalmente imaginario, dibujado a partir de la posición de las manos del esqueleto. Las funciones que proporcionan el radio y centro de la circunferencia son
P1 = pseudoskel11(7)
P2 = pseudoskel11(11)
r = 0.6 * Distancia(P1, P2)
y
Public Function centro_bola(P1 As Point4D, P2 As Point4D, r As Double) As Point4D
Dim C, D As Point4D ', V As Vector3D, p11 As Point3D
Dim ca, sa, st, ct As Double '¡senoss cosenos de alfa y theta
Dim dist, semicu, haltu As Double '¡senoss cosenos de alfa y theta
D = Punto_medio(P1, P2)
dist = Distancia_xy(P1, P2) ' As As Double
semicu = dist / 2
ca = (P1 - P2).X / dist
sa = (P1 - P2).Y / dist
st = semicu / r
ct = Sqrt(1 - st ^ 2)
C.X = D.X + r * ct * sa
C.Y = D.Y - r * ct * ca
C.Z = D.Z + r
Return C
End Function
Podemos elegir un aro de radio constante y sujetarlo con una sola mano (¿alternadamente?) cuando separamos las manos una distancia mayor que el diámetro.
 
Vea ahora otro OVR en Manejo de objetos virtuales II. Cubos.
 
 

 
Vuelta al Principio    Última actualización: viernes, 08 de julio de 2016    Visitantes:contador de visitas