Вы, конечно, можете создавать трехмерные модели с canvas, используя библиотеки webGL или трехмерные javascript, но я бы лично использовал вместо этого преобразования и переводы CSS3, если вы хотите создать куб Rubix (обещаю, что это будет МНОГО МЕНЬШЕ код). Проверьте это, и вы будете вдохновлены:
http://www.paulrhayes.com/2009-07/animated-css3-cube-interface-using-3d-transforms/
В этом демонстрационном примере используются линейные повороты, но если вы используете повороты с ускорением, то повороты будут выглядеть намного более естественными.