Я такие делаю.
Два варианта:
- webgl, к примеру на threejs
- пререндеры на канвасе
Оба варианта хороши.
Первый - мягким вращением.
Второй - вращение дискретное, но намного более качественная картинка, хорошая работа на мобильных устройствах, низкое потребление ОЗУ (не тупит в браузерах даже на слабых ПК).
Раньше делали на FLEX (flash), но сейчас эта технология вышла из моды.