|
|
|||||
Вращение 3D-объекта, Five3D
Привет всем, с наступающим 2010 годом. Желаю побольше интересных проектов и побольше отдыхать!
Теперь, собственно, вопрос к 3D-математикам: мне нужно сделать бесконечное вращение объекта, находящегося в позиции (0, 0, 0) вокруг себя в зависимости от положения курсора мыши. Примерно так: (картинка кликабельна, переходит на SWF-ку с примером) Я использую движок Five3D. Проблема в вычислении значений углов (rotationX, rotationY и rotationZ) у вращаемого объекта (тут - куба). Делаю так: private function onFrame(event:Event):void { _body.rotationX += _xOffset; _body.rotationY += -_yOffset; } Подскажите какие тут колдовства, матрицы и т.д. нужно применить? Суммируя вышеизложенное: Дано: угол в плоскости экрана, на который нужно повернуть; Требуется: найти значения rotationX, rotationY и rotationZ для вращаемгого объекта. Спасибо. Последний раз редактировалось enepx; 25.12.2009 в 15:22. |
|
|||||
Во флеше угол имеет значения от 0 до 180 и от 0 до -180 (это верно для rotation).
Попробуйте поставить условие на присвоение. Хотя если у вас программа под 10-й плеер должно работать и без этого, rotationX/Y/Z корректно воспринимает любые углы. |
|
|||||
углы сами считаются по основанию 360, т.е. 721 = 1.
Не думаю, что встроенное в FP10 3d решит мою проблему влет. |
|
|||||
[+1 02.07.09]
Регистрация: Jun 2009
Сообщений: 39
|
Может так?
|
|
|||||
Нет, не работает. Тут не так просто решается. Тут зависимость от угла, вычисляться вроде должно через sin/cos.
|
|
|||||
[+1 02.07.09]
Регистрация: Jun 2009
Сообщений: 39
|
Значит так =)
|
|
|||||
у меня FP9, а не FP10, потому и юзаю Five3D.
|
|
|||||
[+1 02.07.09]
Регистрация: Jun 2009
Сообщений: 39
|
Не пользовался Five3D, но думаю, он должен поддерживать матрицы. Если даже нет - можно создать класс матрицы самому.
Вот ссылка на матрицы поворота http://ru.wikipedia.org/wiki/%D0%9C%...BE%D1%82%D0%B0 Суть в том, что куб у тебя крутится вокруг своей оси, а не вокруг глобальной оси. Следовательно при повороте вокруг одной оси, две другие оси увеличивают свой угол относительно начала координат, на угол поворота. |
Часовой пояс GMT +4, время: 03:56. |
|
« Предыдущая тема | Следующая тема » |
Теги |
five3d , rotation , вращение |
|
|