# Rotation Around Center

#22

Did you set `flatReservedTxt.rotation = 45`?

#23

@player_03 sure I did

this is my code

``````flatReservedTxt.x = (575 - flatReservedTxt.width) / 2;
flatReservedTxt.y = (415 - flatReservedTxt.height) / 2;

var oldX = flatReservedTxt.x;
var oldY = flatReservedTxt.y;

//
flatReservedTxt.rotation = 45;
var hypotenuse:Float = Math.sqrt(flatReservedTxt.width / 2 * flatReservedTxt.width / 2 + flatReservedTxt.height / 2 * flatReservedTxt.height / 2);

var newX = hypotenuse * Math.cos((flatReservedTxt.rotation + 45) * Math.PI / 180);
var newY = hypotenuse * Math.sin((flatReservedTxt.rotation + 45) * Math.PI / 180);
flatReservedTxt.x += oldX - newX;
flatReservedTxt.y += oldY - newY;

oldX = newX;
oldY = newY;
``````

what I am missing?

thanks

#24

For one thing, shouldnât that line be at the end? Either that or you shouldnât add 45 inside the `sin()` and `cos()` functions.

If that isnât enough, please post screenshots of whatâs wrong.

#25

@player_03 this worked for me

``````private function rotateDysplayObj(image:DisplayObject, degrees:Float):Void {

var radians:Float = degrees * (Math.PI / 180.0);
var offsetWidth:Float = image.width/2.0;
var offsetHeight:Float =  image.height/2.0;

// Perform rotation
var matrix:Matrix = new Matrix();

matrix.translate(-offsetWidth, -offsetHeight);
matrix.translate(offsetWidth, offsetHeight);
matrix.concat(image.transform.matrix);
image.transform.matrix = matrix;
}
``````

but canât figure out why not worked sin & cos solution ((((
can you paste complete working example?
Thanks

#26

Now that I look at it, thatâs honestly a much better formula. The one Mallario posted doesnât work unless you store the value of `hypotenuse`.

Hereâs another option. It can re-calculate the value of `hypotenuse`, but instead you have to store the pivot point:

``````private function rotateObjectAround(target:DisplayObject, rotation:Float, pivotX:Float, pivotY:Float):Void {
var hypotenuse:Float = Math.sqrt((target.x - pivotX) * (target.x - pivotX) + (target.y - pivotY) * (target.y - pivotY));
target.x = pivotX - hypotenuse * Math.cos(rotation * Math.PI / 180);
target.y = pivotY - hypotenuse * Math.sin(rotation * Math.PI / 180);

target.rotation = rotation;
}
``````