У меня есть такая функция для поворота точек вокруг оси Y:

Код AS1/AS2:
rotateY = function (targed, degree):Void {
var newAngle:Number = degree*rad;
var sin = Math.sin(newAngle);
var cos = Math.cos(newAngle);
for (var i = 0; i<4; i++) {
var x = cos*targed.vertex[i].x-sin*targed.vertex[i].z;
var z = cos*targed.vertex[i].z+sin*targed.vertex[i].x;
targed.vertex[i].z = z;
targed.vertex[i].x = x;
}
};
У меня есть функция которая плавно меняет параметр Angle у моего объекта.

Код AS1/AS2:
var myTween:Tween = new Tween(rektangl, "Angle", Strong.easeOut, 90, 0, 3, true);
myTween.onMotionChanged = function() {
rotateY(rektangl,rektangl.Angle);
render(rektangl);
};
Но эффект получается не тот. Объект начинает вращаться как сумашедший пока Angle не будет равным 0. Получается что параметр degree работает скорее как скорость вращения чем как угол. Что нужно изменить в функции rotateY чтобы параметр degree менял угол не относительно а абсолютно?