Привет всем, с наступающим 2010 годом. Желаю побольше интересных проектов и побольше отдыхать!
Теперь, собственно, вопрос к 3D-математикам:
мне нужно сделать бесконечное вращение объекта, находящегося в позиции (0, 0, 0) вокруг себя в зависимости от положения курсора мыши. Примерно так:
(картинка кликабельна, переходит на SWF-ку с примером)
Я использую движок Five3D. Проблема в вычислении значений углов (rotationX, rotationY и rotationZ) у вращаемого объекта (тут - куба). Делаю так:
Код AS3:
private function onFrame(event:Event):void {
_body.rotationX += _xOffset;
_body.rotationY += -_yOffset;
}
Но у меня объект как бы проворачивается и получается, что каждые вторые ПИ (180 градусов) у меня крутит корректно, остальные - нет.
Подскажите какие тут колдовства, матрицы и т.д. нужно применить?
Суммируя вышеизложенное:
Дано: угол в плоскости экрана, на который нужно повернуть;
Требуется: найти значения rotationX, rotationY и rotationZ для вращаемгого объекта.
Спасибо.