Вращение 3D-объекта, Five3D
Привет всем, с наступающим 2010 годом. Желаю побольше интересных проектов и побольше отдыхать! :drinks:
Теперь, собственно, вопрос к 3D-математикам: мне нужно сделать бесконечное вращение объекта, находящегося в позиции (0, 0, 0) вокруг себя в зависимости от положения курсора мыши. Примерно так: http://flashformer.com/screenshots/2...5-q11-23kb.jpg (картинка кликабельна, переходит на SWF-ку с примером) Я использую движок Five3D. Проблема в вычислении значений углов (rotationX, rotationY и rotationZ) у вращаемого объекта (тут - куба). Делаю так: Код AS3:
Подскажите какие тут колдовства, матрицы и т.д. нужно применить? Суммируя вышеизложенное: Дано: угол в плоскости экрана, на который нужно повернуть; Требуется: найти значения rotationX, rotationY и rotationZ для вращаемгого объекта. Спасибо. |
Во флеше угол имеет значения от 0 до 180 и от 0 до -180 (это верно для rotation).
Попробуйте поставить условие на присвоение. Код AS3:
|
углы сами считаются по основанию 360, т.е. 721 = 1.
Не думаю, что встроенное в FP10 3d решит мою проблему влет. |
Может так?
Код AS3:
|
Цитата:
|
Значит так =)
Код AS3:
|
Цитата:
|
Не пользовался Five3D, но думаю, он должен поддерживать матрицы. Если даже нет - можно создать класс матрицы самому.
Вот ссылка на матрицы поворота http://ru.wikipedia.org/wiki/%D0%9C%...BE%D1%82%D0%B0 Суть в том, что куб у тебя крутится вокруг своей оси, а не вокруг глобальной оси. Следовательно при повороте вокруг одной оси, две другие оси увеличивают свой угол относительно начала координат, на угол поворота. |
Часовой пояс GMT +4, время: 01:38. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.