elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Problema: TransformGroup dentro de TransformGroup y transformaciones
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema: TransformGroup dentro de TransformGroup y transformaciones  (Leído 890 veces)
MidBifroid

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Problema: TransformGroup dentro de TransformGroup y transformaciones
« en: 15 Agosto 2013, 22:47 pm »

Buenas, estoy haciendo un cuerpo humano.
Y la idea es que al mover el muslo de la pierna, el resto de la pierna no solamente le siga, sino que ademas tambien se transformen las rotaciones.

Para ello e incluido la pierna(TG) dentro del muslo(TG), asi los 2 se mueven a la vez.

Aqui me surgio un problema, porque al diseñar los shapes, los hice de tamaño desproporcionado por lo que por ejemplo el muslo tengo que escalarlo.
Logicamente al escalar el muslo, como la pierna esta dentro, tambien se escala.
Esto se soluciona facilmente volviendo a reescalar la pierna.

Pero el problema se agrava porque he hecho un sistema de articulaciones:
El sistema de articulaciones son puntos y esta diseñado de la siguiente manera;
La clase articulacion es un shape3d con 1 PointArray de 1 solo punto, facil.
Cada miembro tiene 2 articulaciones, cada una de ellas se conecta con las articulaciones de otros miembros, macho con hembra.

Resulta que al hacer la transformacion estos puntos se descolocan, y mucho.
Si escalo el muslo, y a su vez la pierna y sus articulaciones, los puntos se separan.
Los puntos de articulacion de la pierna shapes, tienen de padre a un TransformGroup, y tiene de hermanos a otros puntos y al shape modelo de la pierna.
El muslo(TG) tiene como padre a un TransformGroup que es el cuerpo, y como hijos al shape3d del modelo del muslo y sus 2 articulaciones shapes; y el TransformGroup de la pierna

Las coordenadas reales se obtienen asi:
TransformGroup t = new TransformGroup(); //Aqui voy a recibir la fransformacion de mi objeto.
miNodo.getLocalToVworld(t); //la recibo
Point3d p = new Point3d(); //en este contenedor se recibiran las coordenadas reales.
t.transform(p); //las recibo

El error viene cuando obtengo la articulacion (shape->point->coordinate[0]) del muslo  y la de la pierna, para hayar la diferencia de espacio y mover a la pierna, esa diferencia, asi uniendo los 2 puntos de articulaciones y manteniendo toda la pierna de una pieza.

Teniendo en cuenta que el muslo tiene 1 transformacion, y la pierna tiene una transformacion heredada del muslo y a demás puede tener otras. Al obtener las corrdenadas reales, no me las devuelve escaladas correctamente.

Si escalo el muslo aumentando Y, la pierna se separa, y si disminuyo Y, la pierna entra dentro del muslo literalmente.

No se si es un fallo de jerarquia de como meter los transformGroup dentro de otros, de meter los shapes dentro de un branch y luego dentro del transformgroup.

He provado a ponerlo todo al mismo nivel (la pierna y el muslo como hermanos) dejando solamente el sistema de articulaciones, y si encuentra las coordenadas correctas y me une bien las articulaciones sean cuales sean las escalas de cada uno. FUNCIONA!!! pero el problema es que cuando levanto el muslo (entonces rota) la pierna no se rota, aunque si se une al muslo.

Imagina lo que tengo que hacer si quiero poner manos!! la de cosas que tendria que coordinar!!

Espero que me ayuden a que funcione esto de manera jerarquica y no poniendo a todos como hermanos, ya que me interesa heredar el movimiento y la rotacion, para no tener que rotar la la pierna tambien cada vez que quiero rotar el muslo.


« Última modificación: 15 Agosto 2013, 23:36 pm por MidBifroid » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Transformaciones de binarios tipo double a octal y hexadecimal
Programación General
kattysol7 1 3,108 Último mensaje 8 Mayo 2010, 01:57 am
por h0oke
Presentan lista top 10 de transformaciones generadas por Internet en la última..
Noticias
wolfbcn 3 1,266 Último mensaje 19 Mayo 2010, 14:42 pm
por dazoverride
Transformaciones geometricas en open gl
Programación C/C++
V_Dan 0 1,114 Último mensaje 16 Septiembre 2012, 06:02 am
por V_Dan
Problema al linkear .res dentro de una dll
ASM
.:UND3R:. 4 2,706 Último mensaje 3 Octubre 2012, 19:05 pm
por Иōҳ
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines