Skip to main content

The hyperbolic extension of manim!

Project description

HManim

The hyperbolic extension of Manim. This package allows for using Manim's drawing and animation framework to visualize objects in the hyperbolic plane.

For a comprehensive description we refer to the documentation.

Installation

You can install the package by running

pip install hmanim

Note that we recommend installing HManim in a virtual environment.

Usage

Define a scene in a Python file (e.g., scene.py), define a class that derives from Manim's Scene, and override its construct method.

from hmanim import native
from manim import Scene, PolarPlane

class ExampleScene(Scene):
    def construct(self):
        plane = PolarPlane(size=5)

        circle = native.Circle(
            center=native.Point(),
            radius=5.0,
            plane=plane,
        )

        self.add(circle)
        self.play(native.Translate(circle, 3.0))

Then you render the scene by running

python -m manim -p scene.py ExampleScene

Note that -p is used to show a preview of the created video once it is rendered.

The resulting files can then be found in the created media directory.

For more examples, we refer to the documentation.

Building the Documentation

The documentation content is split into two directories.

  1. The documentation directory contains the source files that are used to build the documentation.
  2. The docs directory contains the built documentation files that are served as a website.

To build the documentation, go to the documentation directory and run make html.

Known Issues

Changing the center of projection of an HArc or HClosedArc may lead to graphical glitches, since the rendering is not optimized for projection changes yet.

The Poincaré module is currently missing the functionality to draw hyperbolic circles.

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

hmanim-0.1.0.tar.gz (33.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hmanim-0.1.0-py3-none-any.whl (49.8 kB view details)

Uploaded Python 3

File details

Details for the file hmanim-0.1.0.tar.gz.

File metadata

  • Download URL: hmanim-0.1.0.tar.gz
  • Upload date:
  • Size: 33.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for hmanim-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9280f89ad230f03164f91e8fbb2e0d7621fe3cef2400d1592b78466e07435700
MD5 55a9f8d3e9dffa15d7f7be8e82242992
BLAKE2b-256 5165b312365b765fb908e225bff66e899450364aed04b561315605567f39e93c

See more details on using hashes here.

File details

Details for the file hmanim-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: hmanim-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 49.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for hmanim-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 24e66b5d3548b4d5f47ec45c04cb7fb63ced0c640c294369c8f8f3e87cb98830
MD5 465e8e45ce9e9e8ed1995d84629d659f
BLAKE2b-256 b09578d866af13549b7fefbeb74c18979ff219fc3de3d6202128086e31a7ac8b

See more details on using hashes here.

Supported by

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