2 votos

Rotación de tetraedros para la teselación en 3D

Estoy tratando de hacer algunos $3D$ gráficos con un montón de tetraedros . Estoy tratando de averiguar cómo girar un tetraedro de tal manera que sea perfectamente cara a cara con otro tetraedro. Si esto es confuso, los tetraedros múltiples que se tocan cara a cara se verían como este .

Estoy utilizando OpenGL para rotar objetos de forma programada, por lo que sólo puedo rotar en uno de los tres ejes a la vez. Por ejemplo, puedo rotar en el sentido de las agujas del reloj $20^\circ$ en $X$ y luego en sentido contrario a las agujas del reloj $45^\circ$ en $Z$ etc.

Gracias por la ayuda, avísame si necesitas más aclaraciones.

4voto

riza Puntos 170

En realidad, lo que podría hacer es flip el tetraedro a través de una de sus caras, sin preocuparse por la rotación angular. (Supongo que estás hablando de tetraedros equiláteros.) De esta forma consigues el movimiento rígido completo que incluye la traslación espacial (es decir, mover el tetraedro un poco hacia un lado para que no ocupe el mismo espacio). Si tienes las coordenadas de los cuatro vértices de la figura como $ a, b, c, d $ y quieres darle la vuelta a la cara con bordes $ b, c, d $ se pueden mantener los tres últimos vértices y definir el cuarto vértice como $ a' = 2(b+c+d)/3 - a $ . Conseguí esto definiendo el centro de la cara $ p = (b+c+d)/3 $ el vector de desplazamiento normal de $ p $ a $ a $ que es $ n = a-p $ y luego desplazar $ p $ en la dirección opuesta a $ p - n $ .

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X