solucion rubik rapida principiantes paso para online cubo como armar algoritmos 4x4 3x3 matrix orientation webgl three.js rubiks-cube

matrix - rapida - cubo rubik online



¿Cómo encontrar la orientación del cubo de rubik? (2)

Estoy tratando de hacer un juego de cubos de rubik en webgl usando three.js (puedes probarlo aquí ). Y tengo problemas para detectar en el eje de la bruja. Tengo que rotar mi cubo de acuerdo con la rotación del cubo. Por ejemplo, si el cubo está en la posición / rotación original, si quiero rotar la capa izquierda de abajo hacia arriba, debo hacer una rotación en el eje Y. Pero giro mi cubo 90 grados en Y, tendré que rotarlo en el eje Z para rotar mi capa izquierda de abajo hacia arriba.

Estoy tratando de encontrar la forma de obtener el eje de rotación correcto según la orientación del cubo. Por el momento que reviso el vector brujo del eje de la matriz de rotación del cubo, es más paralelo con el vector (0,1,0) si quiero mover una capa frontal de abajo hacia arriba. Pero no funciona en casos extremos como este, por ejemplo:

Supongo que hay una manera simple de hacerlo, pero no soy lo suficientemente bueno en matemáticas y matemáticas :)


Un AxisHelper puede mostrar las aixs de la escena con las que puede determinar la orientación.

var axishelper = new THREE.AxisHelper(40); axishelper.position.y = 300; scene.add(axishelper);

También puede log su cubo y verificar las propiedades de position y rotation con Chrome Developer Tools o Firebug.


Puede almacenar la orientación de cada cubo en su propia matriz 4x4 (es decir, una matriz "modelo") que le indica cómo llegar desde las coordenadas locales del cubo a las coordenadas del mundo. Ahora, dado que desea rotar el cubo alrededor de un eje (es decir, un vector) en coordenadas mundiales, debe traducir el eje en coordenadas de cubo. Esto es exactamente lo que arroja el inverso de la matriz modelo.