Here is the polygon constructor
public Polygon(Point... points) {
if(points.length < 3) {
throw new IllegalArgumentException("polygons must contain at least 3 points.");
}
for(Point p : points) {
mRotatedPoints.add(new Point(p));
mOriginalPoints.add(new Point(p));
}
}
And the rotation code.
public void rotate(float x0, float y0, float degree) {
for(int i = 0; i < mOriginalPoints.size(); i++) {
Point point = mOriginalPoints.get(i);
float x = (float) (x0 + (point.x - x0) * Math.cos(Utilities.toRadians(degree)) -
(point.y - y0) * Math.sin(Utilities.toRadians(degree)));
float y = (float) (y0 + (point.x - x0) * Math.sin(Utilities.toRadians(degree)) +
(point.y - y0) * Math.cos(Utilities.toRadians(degree)));
Point p = mRotatedPoints.get(i);
p.x = x;
p.y = y;
}
thanks everyone for the help and forgive my idiocy for not noticing they were they same instead of being seperate.

Find content
Not Telling