tutorial how figuras examples español java math 3d geometry java-3d

how - java 3d tutorial español



¿Cómo calcular el centro del círculo del cilindro "superior", dados los ángulos de rotación? (1)

Tengo un cilindro de 2f de longitud y los datos para RotX y RotZ, dados por el usuario. También sé que el "fondo" de mi cilindro está en (0,0,0) (el centro del círculo forma el "fondo")

Lo que necesito es calcular el punto "superior" (el centro del círculo en el otro extremo) que tiene los datos expuestos en las líneas superiores.

En mi segunda imagen, el punto A se calcula de la siguiente manera (sin (zAngle), cos (zAngle), sin (xAngle) con zAngle = PI / 4 (ángulo alfa) y xAngle = 0.
El punto B se calcula como (sin (xAngle), cos (xAngle), sin (zAngle)) con xAngle = PI / 4 (ángulo beta) y zAngle = 0;
El punto C es la "parte superior" de un cilindro con xAngle = PI / 4 y zAngle = PI / 4.
Necesito encontrar un algoritmo para determinar el punto "superior" para cualquier xAngle y zAngle dados.

Estaría extremadamente agradecido si alguien pudiera ayudarme.


Antes de tus rotaciones, la parte superior está a 2f * (0,1,0).

Después de rotar el cilindro alrededor del eje z por el ángulo alfa, la parte superior está en 2f * (sin alfa, cos alfa, 0).

Si ahora gira el cilindro por el ángulo beta alrededor del eje x, la parte superior pasa a 2f * (sin alfa, cos alfa * con beta beta, sin alfa * sin beta).