Вы вращаетесь вокруг (0, 0), который в данном случае не является центром вашего треугольника.
Треугольник с вершинами (0, -h / 2), (w / 2, h / 2), (-w / 2, h / 2) имеет центр, который является средним из этих трех позиций. Совершенно очевидно, (1/3) (- h / 2) + (2/3) (h / 2) = h / 6. Так что это фактическая y-координата центра вашего треугольника.
Одним из решений может быть перемещение вашего треугольника в (0, (-2/3) * h), (w / 2, h / 3), (-w / 2, h / 3).