Imagen de espejo en diagonal en Python
Estoy tomando una clase de programación en python, y estamos trabajando para reflejar imágenes definiendo un punto de espejo y luego copiando un píxel de un lado al otro usando anidados para bucles. Por ejemplo, reflejar una imagen verticalmente usaría el siguiente código:
def mirrorVertical(source):
mirrorPoint = getWidth(source) / 2
width = getWidth(source)
for y in range(0,getHeight(source)):
for x in range(0,mirrorPoint):
leftPixel = getPixel(source,x,y)
rightPixel = getPixel(source,width - x - 1,y)
color = getColor(leftPixel)
setColor(rightPixel,color)
Actualmente estoy trabajando en una pregunta de asignación que nos pide que reflejemos una imagen en diagonal para que el lado superior izquierdo se refleje en el lado inferior derecho. Cada ejemplo y respuesta que he encontrado hasta ahora solo funciona para imágenes cuadradas, y necesito poder aplicar esto a cualquier imagen, preferiblemente definiendo un punto de espejo diagonal. He estado tratando de definir el punto de espejo usando una ecuación de estilo y = mx + b, pero no puedo averiguar cómo decirle a Python que haga de eso una línea. Cualquier ayuda no específica para imágenes cuadradas sería apreciada!
Nota: ya que soy nuevo aquí, no puedo publicar imágenes todavía, pero el punto de espejo diagonal se ejecutaría desde la parte inferior izquierda hasta la parte superior derecha. La imagen en el triángulo superior izquierdo se reflejaría en la parte inferior derecha.