Rotate in MS Paint

by Super User, 4 weeks ago.
0 0
Here I rotate clockwise by thirty degrees as a demonstration.

The symbol 'x' in this case refers to an angle shift in the clockwise direction. For an anti-clockwise rotation a negative value of 'x' is required. In retrospect the Greek letter 'theta' might have been a more familiar choice of symbols to denote angle, but it means the same thing.

As someone in the comments pointed out this method only works if you keep the same selection area throughout. Make sure the selection isn't set to 'transparent' and that your calculator is set on degrees rather than radians. In the more recent versions of MS Paint the second step can be problematic if the selection area doesn't have sufficient room to expand. For best results use a large image, and use the ninety degree rotation option to rotate to the nearest forty-five degrees of the final orientation. I recommend leaving out the forth step if the size of the final image isn't important.

The rotation is inexact not only because pixels can't be rotated, but also because the second step usually requires the program to round up or down, which causes the image to become slightly distorted. The only exception (other than the trivial example of zero degrees) is a rotation by sixty degrees. Here are the figures:

Step 1: Horizontal skew by 60 degrees
Step 2: Vertical stretch by 400%
Step 3: Vertical skew by -60 degrees
Step 4: Horizontal and vertical stretch by 50%

A forty-five degree rotation/expansion can also be done precisely provided the last step is ignored (the image would be larger than the original by a factor of the square root of two). A rotation by ninety degrees by this method is impossible, as it would require a division by zero in the second step. Fortunately there is an option in MS Paint to rotate by ninety degrees.

Another comment suggested an alternative method that doesn't require any stretching:

Step 1: Horizontal skew by θ/2
Step 2: Vertical skew by -arctan[sin[θ]]
Step 3: Horizontal skew by θ/2

Again, a positive value of theta corresponds to a clockwise shift. The only issue I see with this method is that MS Paint only allows integers as inputs, so the first and third steps can only be approximated for a rotation shift of an odd number of degrees, but as a major bonus it doesn't require any compression if the size of the image has to be retained.