Skip to main content

A pure python module for generating iterations from the L-System or Lindenmayer system.

Project description

LSystem

What is LSystem?

A pure python module for generating iterations from the L-System or Lindenmayer system. Please check the [Wikipedia page on L-system][https://en.wikipedia.org/wiki/L-system] for details.

The module gives you the LSystem class with the same structure as listed out on Wikipedia page (see the paragraph above). It gives you the following attributes:

  • variables : A set of symbols that can be replaced
  • constants : A set of symbols that won't be replaced
  • axiom : The initial state of the system.
  • rules : The rules for replacing variables with a combination of constants and variables.
  • system : A list of iterations that have been formed. The first member is, naturally, the axiom. The list can be expanded using the iterate() function member.

A quick tutorial

>>> from LindenmayerSystem import LSystem # Import the LSystem class from the LSystem module
>>> ################################################
>>> # Algae will be an instance of LSystem
>>> # with 
>>> # 	variables being the list ['A', 'B']
>>> #	no constants 
>>> #	axiom 'A'
>>> #	rules A -> AB and B -> A
>>> ################################################
>>> Algae = LSystem(variables = "A B".split(), constants =[], axiom="A", rules={"A": "AB", "B":"A"})
>>> Algae
['A']
>>> Algae.variables
['A', 'B']
>>> Algae.constants
[]
>>> Algae.rules
{'A': 'AB', 'B': 'A'}
>>> Algae.axiom
'A'
>>> Algae
['A']
>>> Algae.iterate()
>>> Algae
['A', 'AB']
>>> Algae.iterate()
>>> Algae
['A', 'AB', 'ABA']
>>> Algae.system
['A', 'AB', 'ABA']

Invitation

to review

The code has been checked for the examples in Wikipedia. You are invited to cross check the results. Please raise an issue in case of a discrepancy.

to contribute

You are welcome to improve LSystem and suggest improvements.

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

LindenmayerSystem-1.0.0.tar.gz (2.6 kB view details)

Uploaded Source

Built Distribution

LindenmayerSystem-1.0.0-py3-none-any.whl (15.1 kB view details)

Uploaded Python 3

File details

Details for the file LindenmayerSystem-1.0.0.tar.gz.

File metadata

  • Download URL: LindenmayerSystem-1.0.0.tar.gz
  • Upload date:
  • Size: 2.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.22.0 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.5

File hashes

Hashes for LindenmayerSystem-1.0.0.tar.gz
Algorithm Hash digest
SHA256 3ad8def4dc5b14c0e7ed4c366755d5c54f1b600184c65a91d7fc5f1b78310090
MD5 04d4e45e715af3e6889ef4b53cd07ee1
BLAKE2b-256 b251b7b65b25b94fa66bffe8e0e75120e1c601a48f63822ecad1e5e661e5c832

See more details on using hashes here.

File details

Details for the file LindenmayerSystem-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: LindenmayerSystem-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 15.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.22.0 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.5

File hashes

Hashes for LindenmayerSystem-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3b234977e9aaf27149fdae9baeb0f4e9519dddece68f7b158954f7f8bb34f131
MD5 f521f246958baa7a5d93e50599f17b93
BLAKE2b-256 98cfee41dc3209911794d110d93d415705c0bb477a527808aa5085dc02294aa2

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