Title should read: 2D Object Rotation makes my object smaller, why?

The problem is that the triangle become smaller and smaller after each rotation for some reason and i dont understand why, im using a formula ive found for the rotation, and its the same on many sites, so i dont know why this is happening. Heres the function that does the rotation.

public void rotate(double x) { double tempX[]=new double[OBJECT_COMPLEXITY]; //points for drawing objects double tempY[]=new double[OBJECT_COMPLEXITY]; double cosF=Math.cos(x); //x is Math.toRadians(10), negated when going right double sinF=Math.sin(x); for(int j=0; j<obj[0].GetPts(); j++) //loop that goes through all the points { tempX[j]=obj[0].GetXArray()[j]; //grab the points by value from the array tempY[j]=obj[0].GetYArray()[j]; System.out.println("#" + j + " Old X: " + tempX[j] + " Old Y: " + tempY[j]); tempX[j]=tempX[j]*cosF-tempY[j]*sinF; //using online formula tempY[j]=tempY[j]*cosF+tempX[j]*sinF; System.out.println("#" + j + " New X: " + tempX[j] + " New Y: " + tempY[j]); } System.out.println(); obj[0].SetArrays(tempX, tempY); //send the arrays back to the object }

Now what i did is turn the triangle 10 degrees to the left, then 10 degrees to the right (yes i converted to radians)

The original array of points::

xObjArr[0]=0;

xObjArr[1]=20;

xObjArr[2]=-20;

yObjArr[0]=-20;

yObjArr[1]=0;

yObjArr[2]=0;

(This is just a triangle)

And now here is the report generated by the rotations, here is the report after rotating to the left:

#0 Old X: 0.0 Old Y: -20.0

#0 New X: -3.4729635533386065 New Y: -19.093081268103244

#1 Old X: 20.0 Old Y: 0.0

#1 New X: 19.69615506024416 New Y: -3.4202014332566866

#2 Old X: -20.0 Old Y: 0.0

#2 New X: -19.69615506024416 New Y: 3.4202014332566866

Here it is when rotating back to the right (it should be noted the size still decreases when turning constantly only in one direction)

#0 Old X: -3.4729635533386065 Old Y: -19.093081268103244

#0 New X: -0.10472266500395477 New Y: -18.821199361658596

#1 Old X: 19.69615506024416 Old Y: -3.4202014332566866

#1 New X: 19.99083795399793 New Y: 0.1031316924119956

#2 Old X: -19.69615506024416 Old Y: 3.4202014332566866

#2 New X: -19.99083795399793 New Y: -0.1031316924119956

Obviously something is wrong, i would be okay with minor imprecisions but this is not even close to the original points.

Can anyone see anything wrong with this, is perhaps the formula wrong???