Показать сообщение отдельно
Старый 02.01.2007, 19:40
miramax вне форума Посмотреть профиль Отправить личное сообщение для miramax Посетить домашнюю страницу miramax Найти все сообщения от miramax
  № 3  
Ответить с цитированием
miramax
 
Аватар для miramax

Регистрация: Oct 2005
Адрес: Борисоглебск
Сообщений: 1,702
Отправить сообщение для miramax с помощью ICQ Отправить сообщение для miramax с помощью AIM Отправить сообщение для miramax с помощью MSN Отправить сообщение для miramax с помощью Yahoo Отправить сообщение для miramax с помощью Skype™
Это как раз последовательный поворот по трём осям, последовательное преобразование по трём матрицам, это мы умеем :
Код:
//цитата исходника __etc
y = o.y0*Math.cos(angleZ)+o.x0*Math.sin(angleZ);
x = o.x0*Math.cos(angleZ)-o.y0*Math.sin(angleZ);
// y rotate
z = o.z0*Math.cos(angleY)-x*Math.sin(angleY);
x = x*Math.cos(angleY)+o.z0*Math.sin(angleY);
// x rotate
oy = y;
y = y*Math.cos(angleX)-z*Math.sin(angleX);
z = oy*Math.sin(angleX)+z*Math.cos(angleX);
Было бы прекрасно разложить любой произвольный поворот на три последовательных, применив к ним код аналогичный твоему.
__________________
AS3 | www.FLAPS.ru | Русские флэшеры самые умные флэшеры в мире. ©