XSIforum.com

Instancias y su orientación

0 Usuarios y 1 Visitante están viendo este tema.

Unaided

  • ***
  • 3293
Instancias y su orientación
« en: 18 Febrero 2014, 22:21:56 »
Quiero posicionar la pieza romboide en el centro de cada quad de la geometría base, pero no sé como resolver la orientación de cada pieza. Espero que se entienda en las imágenes adjuntas.

Haciéndolo a mano, lo puedo resolver haciendo una matriz polar y esa 'roseta' posicionar en cada centro de cada pentágono de un dodecaedro, orientando esta hacia el centro del dodecaedro, y rotando 36º en su local.roty. Este procedimiento lo estaba haciendo con instancias en ICE, pero me surge el problema que para cubrir el poliedro completo se sobreponen diferentes piezas de cada 'roseta' de 5.

Por esa razón estoy intentando este otro procedimiento de instanciar cada pieza en cada polígono. En esta parte de la pieza sería una matríz polar, pero lo que busco es posicionar y orientar cada pieza sobre le dodecaedro completo.

Otro procedimiento que he probado, pero solo a mano, es con cuatro constrain position, a modo de pin-corner, pero en este caso necesitaría un control para rotar cada pieza de un modo semejante a como lo hace el uv editor.

Re:Instancias y su orientación
« Respuesta #1 en: 19 Febrero 2014, 01:43:34 »
He hecho la geometría a instanciar "a mano" y los ángulos no se ajustan perfectamente, pero supongo que se entiende la idea :)

Unaided

  • ***
  • 3293
Re:Instancias y su orientación
« Respuesta #2 en: 19 Febrero 2014, 13:41:18 »
Gracias César!

Lo he mirado por encima y, no entiendo la idea :D Lo debo examinar con algo más de calma. Si veo que se posicionan sobre la geometría del pentagono, la orientación en Y la toman de un valor, y la dirección de la normal de cada poligono. Sin embargo el Closest to surface no trabaja correctamente, puesto que si roto todos los poligonos del pentagono, las piezas no se apoyan sobre los poligonos. No sé si habría que recurrir a un raycast para ello.

Re:Instancias y su orientación
« Respuesta #3 en: 19 Febrero 2014, 15:42:15 »
No es que el closest location no funcione correctamente, lo que sucede es que el polygon position que utilizo para crear las partículas no considera las transofrmaciones de la geometría en si, si multiplicas ese valor por la matriz de transformacion global de la propia geometría antes de conectarlo al add point debería que funcionar :)

Unaided

  • ***
  • 3293
Re:Instancias y su orientación
« Respuesta #4 en: 19 Febrero 2014, 19:33:10 »
He añadido mi interpretación de tus palabras, que debe estar mal porque las piezas no se quedan fijas sobre la geometría en ninguna modificación de su SRT, tanto a nivel objeto, como a nivel componentes. La multiplicación del valor valor del PolygonPosition por el SRT de la geometría la hago en el operador Multiply Vector by Matrix que tenías puesto. Diría que teóricamente hace lo que decías.

He cogido con el kine.global porque en los parámetros del operador polymsh solo están Scale y Orientation.





Unaided

  • ***
  • 3293
Re:Instancias y su orientación
« Respuesta #5 en: 19 Febrero 2014, 20:17:48 »
He cambiado el tinglao que he montado cogiendo escala, rotación y posición por separado y pasarla a una matriz con el SRT to Matrix por un simple Get kine.global como estabas usando para coger la posición del null, y tampoco funcionaba, pero me ha servido para ver que el null está forzando la posición de las partículas a una distancia (controlada por el control numérico que le has creado) del mismo, y he probado a desconectar, y voilá!
Posiciona las partículas en el centro del poligono, pero así me va mucho mejor, es lo que quería, ya que para posicionar las piezas, el centro de cada romboide de la geometría soporte, es el centro exacto.

¡Muchas gracias César!

Voy a trasladar esto a la geometría en la que estoy trabajando (un dodecaedro un poco tuneado) a ver si resulta, y me permite el control que busco.

Re:Instancias y su orientación
« Respuesta #6 en: 19 Febrero 2014, 21:54:20 »
Ouch :P
Vale, plan B... lo he re-hecho sin closest location, los compounds grises son donde está "la magia", lo he hecho de esa forma para que puedas ir conectando/desconectando cosas y puedas entender como funciona :)

Unaided

  • ***
  • 3293
Re:Instancias y su orientación
« Respuesta #7 en: 20 Febrero 2014, 14:54:50 »
Ahora que estaba entendiendo como funciona el anterior ejemplo... y me lo cambias! jaja

Ya le he echado un vistazo, y he hecho alguna prueba con la geometría de soporte base. Tiene algunos problemas en como se posicionan las piezas sobre los poligonos. He desconectado el null center porque no necesito ese control, ya me va bien que se posicione en el centro de cada poligono, o en su defecto hago un midpoint en el edge de cada poligono.

He desmontado un poco tu compound, pero lo que quiero es que se posicionen en el centro de cada poligono y se apoyen sobre estos (bastaria con un up vector hacia el centro en mi caso), y se orienten (local.roty) hacia un punto (ground_center), como ya funciona en este ejemplo, pero no resulta con otra topología.

Con tu ejemplo se me ocurre hacer un detach de cada pentagono y hacer tantos pointclouds como pentagonos. No se apoyan bien cuando los componentes del objeto tienen otra orientación.
« Última modificación: 20 Febrero 2014, 15:14:09 por Unaided »

Re:Instancias y su orientación
« Respuesta #8 en: 20 Febrero 2014, 15:57:04 »
Eso es lo que pasa cuando omites información :/
Yo encantado te ayudo, de verdad, pero necesito que me digas que es lo que quieres resolver, sin omitir "detalles", de otra forma es difícil avanzar.

Unaided

  • ***
  • 3293
Re:Instancias y su orientación
« Respuesta #9 en: 20 Febrero 2014, 22:19:26 »
Bueno, es que quería hacerlo yo, y empecé preguntando en puntos donde me atascaba bajo el procedimiento que empecé, como lo de necesitar un control para la orientación de cada partícula. Tu propuestas de procedimientos ya resuelven las cuestiones que he ido preguntando, y aunque son sofisticados para mi compresión, me van muy bien, tanto que me quedo con tus procedimientos.

Prepararé un poco de documentación gráfica, a ver si consigo explicar bien lo que quiero hacer. Fundamentalmente, viene a ser posicionar una geometría con forma de romboide sobre polígonos, con su dirección en la normal de cada polígono, y su orientación (la de la partícula) en local.roty libre para que pueda orientarse con grados, como ya has hecho en tus compounds. Pero lo dicho, déjame que "desomita" información ;)

Una cuestión: ¿por qué conectas las tres ramas a un 'execute' y este al ICEtree? qué diferencia tiene si computa su ejecución, supongo que secuencial, directamente el nodo ICETree?