Skip to content

A sandbox of scripts and tools to explore affine invariant functions where f(Ax + b) = f(x) for all x

License

Notifications You must be signed in to change notification settings

nmillerns/affine_invariant_functions

Repository files navigation

Affine Invariant Function Sandbox

"A function f on a set S is said to be invariant under a transformation T of S into iteself if f(T(x)) = f(x) for all x in S". [1]

I define an affine invariant function to be a function where there exists an affine transformation Ax + b where A ≠ 0 invertible, b0 such that f(Ax + b) = f(x) for all x in the domain of the function when Ax + b is also in the domain of the function.

This is like an extension of periodic functions f(x + P) = f(x) [2], which is the special 1d case with A = 1, b = P.

This repository contains a sandbox of python3 (and some matlab) scripts and tools I have used to explore and generate images and animations of affine invariant 2d surface functions. That is functions f: RxRR. This includes affine invariant functions were the affine transformation is scale, and/or rotation, and/or translation. Like a log spiral snail shell where f(eθ[cos(θ) -sin(θ); sin(θ) cos(θ)]x + 0) = f(x)

Gallery

Dependencies

To run this code you will require python3, opencv-python, and numpy. Matlab or Octave can be used for the .m scripts.

About

A sandbox of scripts and tools to explore affine invariant functions where f(Ax + b) = f(x) for all x

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published