0 purchases
riemapp 0.2.0
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, riemapp aliases the geometries provided by manim under
riemapp.geometry. Users can either use these alias classes or directly use
the MObjects provided by manim.
riemapp programmatically generates manim animations, and the code for this
is available under riemapp.core. All of the information added by a user is
passed into a placeholder class which inherits manim.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 bin folder 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)
https://user-images.githubusercontent.com/74055102/193077326-2c21cb9e-eb24-473e-b69c-3376f7664ecd.mp4
Contributing
If you want to contribute to riemapp (thanks!), please have a look at our
Contributing Guide.
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.