1. The problem statement, all variables and given/known data Say we have a 2D rigid body transform, with parameters [itex]p = [ p_1,p_2,p_3] [/itex] for rotation, x translation and y translation respectively. I'm using the transform to .. transform an image. Is there a way to have: For a point x , y : x',y' = transform(x,y,p) <=> x,y = transform(x',y',-p) , meaning trasforming the transformed point with negative parameters of the initial transformation, gives us the initial point. Expanding to the image, , i'd want for an image I: I' = transform(I,p) <=> I = transform(I',-p) This works simply for transforms that include only translations, but not for rotations. The rotation is done by rotating the points by the center of ther image. So by using a 2D rotation matrix with homogenous coordinates to include translation , i have to ,prior to rotation , translate the image by -cx,-cy where cx,cy are the coordinates of the image center , rotate , and then applying the translation. By this way though , i'd have to know all prior transformations done to the image to know the (now changed) "location" of the image center. So in short: I have an image I', transformed by coordinates p.I want a transformation method to yield I when transforming I' with parameters -p. Any ideas for this to work? Is it even possible?