Manim powered complex mappings.
Project description
riemapp
riemapp is a fast, easy-to-use, minimal library for Python 3.7+ that aliases manim 0.16.0+ functions for visualising animated and intuitive complex mappings (transformations from the real plane to the complex plane) for various shapes and real-valued functions in two dimensions. It uses a minimum number of dependencies through FFmpeg and pangocairo on Linux.
Users and learners may use riemapp to:
- Plot (user-defined)
- Points
- Lines
- Triangles
- Squares
- Rectangles
- Other regular polygons
- Circles
- Irregular polygons
- …and so on
- Create smooth, precise animations for plotted figures and map them on the Argand plane according to user-defined complex functions.
- Save these animations and play them in the default video player available
Structure
- Right now,
riemappaliases the geometries provided bymanimunderriemapp.geometry. Users can either use these alias classes or directly use theMObjects provided bymanim. riemappprogrammatically generatesmanimanimations, and the code for this is available underriemapp.core. All of the information added by a user is passed into a placeholder class which inheritsmanim.Scene. This class' object is then used to render the animation.
Installation
Install dependencies
FFmpeg
- Install FFmpeg through their download page
or your system's package manager (
apt,brew, ...) or clone Saransh-cpp/FFmpeg. - Add the
binfolder to system path.
pangocairo (Linux systems)
Install libpango1.0-dev if you are on a Linux system -
sudo apt-get update
sudo apt install libpango1.0-dev
Install riemapp
riemapp uses modern Python packaging and can be installed using pip -
python -m pip install riemapp
Usage example
In [1]: import riemapp as rp
Manim Community v0.16.0.post0
In [2]: import numpy as np
In [3]: square = rp.geometry.Square(2.)
In [4]: square
Out[4]: Square(side_length=2.0) (alias for manim.Square)
In [5]: cm = rp.ComplexMap(square, lambda z: np.e ** z)
In [6]: cm
Out[6]: ComplexMap(f=Square(side_length=2.0) (alias for manim.Square), transformation=<lambda>)
In [7]: cm.generate_animation(run_time=2.)
Out[7]: Animate(f=Square(side_length=2.0) (alias for manim.Square), transformation=<lambda>)
In [8]: cm.render(preview=False)
Contributing
If you want to contribute to riemapp (thanks!), please have a look at our
Contributing Guide.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file riemapp-0.2.0.tar.gz.
File metadata
- Download URL: riemapp-0.2.0.tar.gz
- Upload date:
- Size: 19.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d8636f0f90eebf9edf748d87d37ae22e7c193aac344c1939edc127715481b96f
|
|
| MD5 |
5b5a57aa18765a5ad42926d80577139d
|
|
| BLAKE2b-256 |
a2250807c5ca20fe2faf482e4249102c48dbd5b3cfc1da74f0a83f6a4d67d6ed
|
File details
Details for the file riemapp-0.2.0-py3-none-any.whl.
File metadata
- Download URL: riemapp-0.2.0-py3-none-any.whl
- Upload date:
- Size: 7.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4595fdf196f31f33677a0c4d984d015c928c9329b33a367e600d85f8f305760b
|
|
| MD5 |
c6b9afd6eda580f9453eb8e0dc92cc73
|
|
| BLAKE2b-256 |
9e46905f338988fe2a5185cc6f4905646e41e7ae3f10c72825c1d085c09f0532
|