Я работаю с этой функцией, которая перемещает объект вокруг центральной точки в идеальном круге и пытаюсь изменить его, чтобы переместить его в овальную форму, которая в 1/2 раза больше его ширины?
По сути, у меня есть заданная скорость
var myVelocity:Number = 0.25;
, затем я вычисляю свои синус и косинус на основе скорости
var myCos:Number = Math.cos(myVelocity);
var mySin:Number = Math.sin(myVelocity);
, затем я вычисляю расстояние объекта от фиксированнойцентральные точки вдоль каждой оси и
var x1:Number = myBall.x - centerX;
var y1:Number = myBall.y - centerY;
var x2:Number = myCos * x1 - mySin * y1;
var y2:Number = myCos * y1 + mySin * x1;
myBall.x = centerX + x2;
myBall.y = centerY + y2;
У меня есть другая функция, которая вычисляет x и y на основе myBall.x = centerX + cos (angle) * radius;это достаточно легко изменить радиус, чтобы стать эллипсом, но есть ли простой способ изменить вышеупомянутый, чтобы стать эллипсом?Я хочу сделать это, чтобы быть более эффективным с кодом и сократить количество вызовов математических функций