¿Función para rotar objetos 2d?

¿Es posible escribir una función en python que podría rotar cualquier estructura 2d con los argumentos siendo solo las coordenadas (x, y) de los puntos en la estructura? Argumentos adicionales serían incluidos para eje, velocidad y dirección.

A mi entender, solo sería posible calculando la distancia en puntos desde los puntos simétricos y el eje y, por lo tanto, siempre variaría y, por lo tanto, es imposible, excepto para estructuras 2D compuestas de formas estándar (triángulos, rectángulos, cuadrados, etc.)

Buenos ejemplos serían apreciados.

Respuestas a la pregunta(2)

Su respuesta a la pregunta