A tool to visualize the discrete fourier transformation

Explanation

Utility program in Python (pygame + numpy) to visualize concepts of linear transformations executed in the browser using pyodide. Watch 3Blue1Brown for a nice introduction.

Add Objects

Click on the menu button on the top left. Click the small plus buttons to add Objects, Transforms or Transformed Objects.
You can mutate objects by dragging in the editor window (on the right) or by changing the number values (on the left side) by dragging them up or down.

Using Transformed Objects

There are two kinds of transformed objects. The first one will apply a transform onto an object (basically doing a matrix multiplication with the vector(s) of the object). Click on the transformed object and then on an object. Then click on the transformed object again and then on the transform. This will apply the transform onto the object.

The second transformed is a free text transformation, that can use all names present (like v1, T1, ...) and all numpy functions.
Try np.linalg.inv(T1) to calculate the inverse of a transform.

For more information view the usage and code on GitHub!