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.
 
 
Transformaciones del esqueleto (incluido en Danzante)
 
Hemos tratado estas cuestiones, en forma matricial y vectorial, en Matrices en espacio vectorial 3D  y Movimientos, transformaciones y sus Matrices en espacio vectorial 3D, y en forma geométrica en Movimientos y transformaciones en plano y espacio. Descripción geométrica, todo ello referido a giros y desplazamientos o translaciones.
 
Ahora presentamos los primeros resultados de estos movimientos, empleando lasel algebra dmatricial y vectorial contenida en las rutinas API de NET 4.5 y 4.6. Empleamos pues las operaciones de suma, resta. y transformacion mediante matrices y cuaterniones de los puntos del esqueleto.
En la figura se ve en blanco el esqueleto original; y en naranja las tres vistas habituales del dibujo técnico, alzado a la izquierda, encima del anterior; planta debajo de este último, vista lateral al derecha.
 
Peso a la poca visibilidad de los gráficos, puede apreciarse que lo que debe ser el alzado, se le como una vista de planta, hecho confirmado por la propia planta de este dibujo que aparece con el aspecto del alzado original (en blanco), de pie, pero torcido, inclinado a la izquierda en el dibujo.
 
Esto quiere decir que el esqueleto original ha sufrido una transformación que describimos como:
 
1. Giro del esqueleto hacia atrás con respecto al línea de los hombros. como eje. El esqueleto bascula hacia atrás.
2. Sobre este esqueleto basculado se rota ahora, con eje vertical yendo la cabeza hacia la izquierda del dibujo, y los pies hacia la derecha.
 
La transformación realizada se ha conseguido usando una matriz arbitraria: la matriz de rotación absoluta de la articulación 5, el codo derecho. Sus valores aparecen en la parte superior del segundo grafico. Asimismo aparece el quaternion correspondiente a la matriz citada, el hueso elegido como referencia y su longitud. El punto, escrito en horizontal y vertical en uno de los operados o transformados.
 
Veamos ahora un dibujo más claro de interpretar geométricamente.
 
 
Observamos un movimiento similar al descrito para el primer gráfico, pues hemos empleado ella articulación 5
 
La transformación se efectúa mediante las siguientes líneas de código fuente, en VisualBasic 10 :
' Public transforma_matriz As Byte = 1 'transforma esqueleto mediante matriz (1) o quaternion (0)
' Public transforma_absoluta As Byte = 1 'transforma esqueleto mediante matriz o quaternion absolutos (1) o jerarquicos (0)
'TODO GIRO EXIGE llevarlo al origen = referirlo a referencia interna o solidario (hombros)
'girar y llevar a su sitio
'TRANSLACION() no pide esos desplazamientos
'1. Llevo al origen
punto_fini4 = punto_fini4 - punto_refe4
'2. transformo
If transforma_matriz = 0 Then
punto_fini3 = punto_fini3 - punto_refe3
'rota la matriz, no el punto; este es el centro de giro
matriz.RotateAt(cuaternion, punto_fini3)
punto_fini4 = punto_fini3
End If
punto_fini4 = matriz.Transform(punto_fini4)
'reduccion por si acaso se desmanda el dibujo
punto_fini4.X = punto_fini4.X / 2 '- 0.3
punto_fini4.Y = punto_fini4.Y / 2 '- 0.3
'3. devuelvo al punto en que estaba
punto_fini4 = punto_fini4 + punto_refe4
 
 Cambiando la articulación y su matris, la empleada para transformar todo el esqueleto, en concreto la articulación 3 (cabeza) encontramos una rotación diferente:
   
 
 
Ahora el esqueleto sufre solamente una vuelta de unos 90º hacia la izquierda en el dibujo, con lo que es ahora la vista lateral la que se parece al alzado original en blanco). Peso, dado que esa vista rota hacia la izquierda otros 90º, encontramos esa sta lateral semejante al alzado, pero de espaldas, nótense los números.
 
Por último, empleamos ella articulacion 2, el centro de hombros, que es precisamente llllllllllllla de referencia. Ejn este caso, encontramos la figura final, que no modifica la original (salvo la reducccion de tamaño que se escribía en el cuadro de código fuente.
 
 
 
 

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