Использование JavaScript для управления преобразованием CSS3 rotate3d, вероятно, является лучшим выбором, как в этой демонстрации .
Для использования холста потребуется каким-то образом перерисовать перетаскиваемые элементы на холсте, что может быть простым или чрезвычайно сложным, в зависимости от того, чем они являются.Если бы все они были изображениями, их можно нарисовать на холсте и вращать с помощью WebGL.Рисование произвольных элементов DOM на холсте, вероятно, чрезвычайно сложно.
Преобразование CSS3 rotate3d, вероятно, проще реализовать, но я подозреваю, что оно имеет меньшую поддержку, чем WebGL.rotate3d работает как минимум в Chrome и Safari, но поддержка WebGL также довольно тонкая.
Надеюсь, это поможет!