Skip to main content

a replacement to lamination builder that uses manim instead of the browser

Project description

WORK IN PROGRESS -- THE FEATURES NOT USED IN THE EXAMPLE DON'T WORK YET

This is a re-implementation of lamination-builder that runs in python without dependencies on a browser and focusing on convenient generation of figures. Instead it uses Manim, and which has several dependencies.

The input format is as follows: A list of laminations to be placed in the figure (tilling is a best effort left to right and top to bottom Placemen based on a 16:9 screen). The blank lamination is permited.

Each lamination may have of the following fields: polygons, chords (must be a list of lists of length two), point_lables, point_colors ("*" for default color which defaults to red), and points. Omissions in each field will be filled based on the fields that proceed it in the list above. Each lamination must have a "radix" which is the base.

Example:

[
  {
    polygons:[["_001","_010","_100"]],
    chords:[["_1","2"]],
    points: ["3"],
    radix: 4
  },
  {
    "polygons": [["0_003", "0_030", "0_300"], 
      ["1_003", "3_030", "3_300"], 
      ["2_003", "2_030", "2_300"], 
      ["3_003", "1_030", "1_300"]], 
    "chords": [], 
    "points": [], 
    "radix": 4
  },
  { radix: 4}
]

please enable images

Installation: (correct python packaging is on the TODO list)

Please refer to to manim's installation instructions. It and its dependencies are required, with the possible exception of tex.

pip install manim json json5
git clone https://github.com/ForrestHilton/python-lamination-builder

Add the project to you PYTHONPATH in a settings file, if you wish to import the python files.

Usage:

/path/to/python-lamination-builder/main.py file.json

Feature requests will be entertained. I have yet to see a need for any of the following features: mapping forward, pull backs, automatically placing descriptions or tittles at the top. This is intended to be used in combination with other tools like latex and your own python scripts. I hope this is a reasonable API.

example output from my research

please enable images

License

Licensed under the The AGPLv3 License (AGPLv3) Copyright (c) 2023 Forrest M. Hilton forrestmhilton@gmail.com You should have received a copy of the GNU Affero General Public License along with this program. If not, see http://www.gnu.org/licenses/.

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

manim_lamination_builder-0.2.0.tar.gz (47.5 kB view details)

Uploaded Source

Built Distribution

manim_lamination_builder-0.2.0-py3-none-any.whl (38.8 kB view details)

Uploaded Python 3

File details

Details for the file manim_lamination_builder-0.2.0.tar.gz.

File metadata

File hashes

Hashes for manim_lamination_builder-0.2.0.tar.gz
Algorithm Hash digest
SHA256 11634ee2ae2b0bccc61bba15eed20cb454436edca6f2a1b0d363605d3c2d3f72
MD5 5a7e1b31e30b0b1e76e3994f3292a2d4
BLAKE2b-256 bc79444113f0f6e1bc692b99f1b7b225d795d6785208b37b51f1c81ee79c17b6

See more details on using hashes here.

File details

Details for the file manim_lamination_builder-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for manim_lamination_builder-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 57a9c5d4788c313bf57011e46ef2ce0b163b59a546ed9c6a38c465428027474f
MD5 d8e0fe303d3dc14c457938c20bfe06c7
BLAKE2b-256 49b2be9e34bfd45009c1c19efb15e1e83ebcd034c2ce6e4eaee34e0eafff451c

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