Показать сообщение отдельно
Старый 10.01.2007, 22:01
vic_ вне форума Посмотреть профиль Отправить личное сообщение для vic_ Посетить домашнюю страницу vic_ Найти все сообщения от vic_
  № 8  
Ответить с цитированием
vic_
 
Аватар для vic_

Регистрация: Sep 2006
Адрес: Zaporozhye, Ukraine
Сообщений: 141
Код:
public function rotate3DVectorAroundX(point:Object, center:Object, dAngle:Number):Object{
//dAngle in rad
var dz = point.z-center.z;
var dy = point.y-center.y;
var orgAngle = Math.atan2(dz, dy);
var hypo = Math.sqrt(dz*dz+dy*dy);
var newAngle = orgAngle+dAngle;
var yy = hypo*Math.cos(newAngle)+center.y;
var zz = hypo*Math.sin(newAngle)+center.z;
return {x:point.x, y:yy, z:zz};
}
можно считать координату исходя из того, что шарик летит в 2D (z-y) а потом повернуть относительно третьей координаты (x), угол высчитать не проблема?