Skip to main content

Manim powered complex mappings.

Project description

riemapp

CI Documentation Status pre-commit.ci status codecov discussion

Python Versions Package Version Downloads License black

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:

  1. Plot (user-defined)
    • Points
    • Lines
    • Triangles
    • Squares
    • Rectangles
    • Other regular polygons
    • Circles
    • Irregular polygons
    • …and so on
  2. Create smooth, precise animations for plotted figures and map them on the Argand plane according to user-defined complex functions.
  3. 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

riemapp-0.2.0.tar.gz (19.2 kB view details)

Uploaded Source

Built Distribution

riemapp-0.2.0-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

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

Hashes for riemapp-0.2.0.tar.gz
Algorithm Hash digest
SHA256 d8636f0f90eebf9edf748d87d37ae22e7c193aac344c1939edc127715481b96f
MD5 5b5a57aa18765a5ad42926d80577139d
BLAKE2b-256 a2250807c5ca20fe2faf482e4249102c48dbd5b3cfc1da74f0a83f6a4d67d6ed

See more details on using hashes here.

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

Hashes for riemapp-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4595fdf196f31f33677a0c4d984d015c928c9329b33a367e600d85f8f305760b
MD5 c6b9afd6eda580f9453eb8e0dc92cc73
BLAKE2b-256 9e46905f338988fe2a5185cc6f4905646e41e7ae3f10c72825c1d085c09f0532

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page