Вы используете CGAffineTransformMakeRotation для создания CGAffineTransform, который вращает прямоугольник вокруг точки (0, 0).
CGAffineTransform rotation = CGAffineTransformMakeRotation(M_PI / 4); // π/4 = 45°
CGPathAddRect(path, &rotation, CGRectMake(0, 0, 80, 40));
Если вам нужно повернуть его относительно любых других точек (x, y),нужно составить 2 перевода для перемещения (x, y) в (0, 0) и обратно.