Affine transformations preserve parallel lines, and include rotations, scaling, shears and translations. Linear transformations can’t perform translations, but this can be achieved if we go to a higher dimension.

In this animation, a planar (2D) shape lying on the plane z = 1 is translated by means of a linear transformation in three dimensions: a shear along the z axis.

Rotations can be performed normally, also around the z axis. For rotations around any other axis parallel to the z axis, it’s just a matter of performing the appropriate translation that cancels out the translation of the axis performed by the rotation.

This way, all transformations are now linear in 3D, and can be represented by a single 3x3 affine transformation matrix that acts on two dimensions.

The “shadow” of the shape illustrates the relative position between the two images, on the planes z = 0 and z = 1, and was included to better visualize the shear and how it is linear in 3D space.

“Unusual shot of James Hunt lapping his McLaren M23 without its cockpit surround at the 1976 Race of Champions” via @ Stuart Dent

I`ll give you something to cry about..

two tone

Subaru

I cried the first time I saw this, first she throws a fucking table,
Then she catches the chair someone threw at her with one hand…ONE HAND.

She is the Supreme.

1964 Ferrari 158

Half Life 2

Zoom Info
Zoom Info

The continuous Fourier transform takes an input function f(x) in the time domain and turns it into a new function, ƒ̂(x) in the frequency domain. (These can represent other things too, but that’s besides the point.)

(Tumblr kept rejecting the proper sized GIFs, so they may look blurry, pixelated or compressed to you. There’s also HD video.)

In the first animation, the Fourier transform (as usually defined in signal processing) is applied to the rectangular function, returning the normalized sinc function.

In the second animation, the transform is reapplied to the normalized sinc function, and we get our original rect function back.

It takes four iterations of the Fourier transform to get back to the original function. We say it is a 4-periodic automorphism.

However, in this particular example, and with this particular definition of the Fourier transform, the rect function and the sinc function are exact inverses of each other. Using other definitions would require four applications, as we would get a distorted rect and sinc function in the intermediate steps.

For simplicity, I opted for this so I don’t have very tall and very wide intermediate functions, or the need for a very long animation. It doesn’t really work visually, and the details can be easily extrapolated once the main idea gets across, I think.

In this example, it also happens that there are no imaginary/sine components, so you’re looking at the real/cosine components only.

Shown at left, overlaid on the red time domain curve, you’ll notice a changing yellow curve. This is the approximation using the components extracted from the frequency domain “found” so far (the blue cosines sweeping the surface). The approximation is calculated by adding all the components, by integrating along the entire surface (this is continuous, remember?)

As we add more and more of the components, the approximation improves. In some special cases, it is exact. For the rect function, it isn’t, and you get some wavy artifacts in some places (the sudden jumps, aka discontinuities). These are due to Gibbs phenomenon, and are the main cause of ringing artifacts. As you’ll probably notice, the approximation is pretty much dead on for the sinc function, as shown in the second animation.

The illustration shows the domains in the interval [-5,5], but the Fourier transform extends infinitely to all directions, of course.

The surface illustrated here isn’t too far off from the approach used in Fourier operators. If you consider the surfaces defined by z = cos(xy) and z = sin(xy), you get the cosine and sine Fourier operators. Having complex values lets you mix both into one thing.

The surface you see in the first animation is just z = cos(2πxy)sinc(πy). The Fourier transform can be thought of as multiplying a function by these continuous operators, and integrating the result. This can be very neatly performed using matrix multiplication in the discrete cases. (New drinking game: take a shot every time linear algebra shows up in any mathematical discussion.)

This also explains why the Fourier transform is cyclic after 4 iterations: rotating 90° four times gets you back to your original position. By using different rotation angles, you get fractional Fourier transforms. Awesome stuff.

NOTE: This animation is a follow-up to the previous one on time/frequency domains, showing discrete frequency components. Check that one out too, as it may help with understanding this one.

Sadly, I had to reduce the images to 400 pixels wide instead of 500. Tumblr wouldn’t accept it otherwise. However, a HD video is also available:

This animation would probably look better with a different way of rendering that surface. Sorry, I don’t have anything better available at the moment, but I’ll work on it. If I do come up with something, I’ll post an update.

Half-Life 2 episode 2