Swirl.
This filter rotates the image around its center. The rotation angle depends on
the distance from the center, and the result is that the image is distorted.
The pixel (x, y) have the same color in dest as the point (xs, ys) has
in src, where (xs, ys) is determined in the following manner.
First transform (x, y) to a point (xr, yr) in
a square -0.5 ≤ xr ≤ 0.5, -0.5 ≤ yr ≤ 0.5 with a linear
imaging. Then rotate (xr, yr) around the origin. A point
at distance r from the original is rotated with angle
v = 50 · scale · r · (0.5-r)
provided that r < 0.5. The other points remain in place.
Finally, the point is transformed back from the square to
the point (xs, ys) in the image coordinates. The effect is illustrated
in the image below.