Cómo usar la fórmula de ejes de rotación para coordenadas no cartesianas

¿Está utilizando la biblioteca .Net donde especifica la acción de una transformación en vectores que representan la esquina superior derecha, superior izquierda e inferior izquierda de la imagen?

Acabo de terminar de escribir una biblioteca para manejar exactamente esto.

Si comprende las matrices, simplemente modele su transformación usando una matriz general 2 × 2 A para rotar, hacer zoom, etc. y una matriz T 2 × 1 que representa la traducción, es decir

[x ‘, y’] = A * [x, y] + T.

Luego, para convertir esto en algo que .Net comprenda, simplemente aplique esta misma transformación a los vectores que definen dónde van la derecha superior, la derecha superior y la izquierda inferior, y alimente los vectores resultantes en la lista de puntos en:

g.DrawImage (bmp, destinationPoints);

(g es un objeto gráfico, bmp es el mapa de bits, los puntos de destino son las coordenadas x e y de su vector transformado).

Hacer este tipo de cosas a la inversa es mucho más difícil (de ahí mi biblioteca), espero que no sea necesario.