Skip to main content

Payton 3D Kickstart Toolkit

Project description

Payton

What is Payton?

Payton is a general purpose 3D programming toolkit. It is designed with the theory that us, humans, we understand better by seeing things.

  • Payton is a prototyping tool. Kickstart any idea fast and easy, grow it.
  • Create tools for the next step. Create map editors, small animations, small algorithms or artificial intelligence for your game. Whenever you need to try a new idea, don't bother to create a new application with all the details. Payton comes with all the necessary defaults and that is what makes it unique. Almost everything has a pre-set.
  • Game engines and other libraries are way too complex and it takes a long time to start the initial playground.
  • Payton never intends to take place as a game engine or a full-featured 3D environment. There are already plenty of stuff for that purpose.
  • Tools programming is easy.
  • Easy to visualise what you want to achive or do what you want to do.
  • You can move forward from Payton to any other place if you like.

We draw 2D graphs and charts in reports and we generally understand much more easily when we visualise the data. But in some cases, visualising exceeds 2 dimensions. We require to have third and even forth dimensions. (And on top of those, definition of forth dimension as time can get foggy in terms of relativity.)

Payton gives you the ability to extend your graphics into 4 dimensions. It is not software but a software development toolkit/library built with Python. This will give users ability to read real time data from sensors, cameras or any other data sources in realtime and visualise them in real time. Data source can be a thermometer, a random number generator, a toy car connected to a speed sensor, a map, a vehicle port or anything that generates time based 3D data. Furthermore, it can be a time based formula. As this can get too complex, software with that complexity will probably be too hard to use and understand where Payton is designed to be as simple as it can be. So easy to program that a newbie can kick-start it just by following the tutorials.

More information can be found in documents.

Install and kick-start

$ pip install payton

Then go ahead and create a test.py

from payton.scene import Scene

a = Scene()
a.run()

And thats all!

Default key mapping:

  • Zoom In-Out: Left Ctrl + Mouse Drag (up and down)
  • Rotate: Left Shift + Mouse Drag (left and right)
  • ESC: Quit Simulation
  • C: Change camera mode (Perspective / Orthographic)
  • Space: Pause scene (stop all Clocks)
  • G: Show/Hide Grid.
  • W: Display mode: Wireframe / Solid
  • F2: Previous observer
  • F3: Next observer

Mouse controls

  • L_CTRL + Mouse(Left) Drag: Zoom In-Out
  • L_SHIFT + Mouse(Left) Drag: Rotate around target
  • L_SHIFT + L_CTRL + Mouse(Left) Drag: Panning

Development

Some notes on Python3:

Currently Payton is in pre-alpha, or it is just some dust cloud in the space. If you want to contribue, here is what you can do:

You can generate the API documentation using:

$ make docs

It should generate the documentations and open it automatically in browser. If it fails to open up the browser, you'll find the docs in docs/payton directory

I encourage you to create a virtualenv for Payton (with Python 3.5+)

virtualenv -p <path-to-python3> payton should do the trick. If you don't have virtualenv in your path, google it!

To start fiddling with it, python setup.py develop will install all requirements and will add payton to site-packages. But changes to code will immediately take effect, as opposed to install command.

To kick start, after python setup.py develop run python examples/04_clock.py

And once you see the white ball on the screen, hit SPACE from keyboard to unpause the animation mode and see the projectile motion demo.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

Payton-0.0.2.17.tar.gz (39.2 kB view details)

Uploaded Source

Built Distribution

Payton-0.0.2.17-py2.py3-none-any.whl (59.9 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file Payton-0.0.2.17.tar.gz.

File metadata

  • Download URL: Payton-0.0.2.17.tar.gz
  • Upload date:
  • Size: 39.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.3

File hashes

Hashes for Payton-0.0.2.17.tar.gz
Algorithm Hash digest
SHA256 8914a6e4bbb54e86d05c266989c04c5d1bdca6fbad5e0a54eea9d6aa9d4b8949
MD5 08c238b481572b5e70f1203221a122b0
BLAKE2b-256 7a20848c6d35e050df275e6626bd1ae10e37ac0a85ed0270e4c6827dd361d2d8

See more details on using hashes here.

File details

Details for the file Payton-0.0.2.17-py2.py3-none-any.whl.

File metadata

  • Download URL: Payton-0.0.2.17-py2.py3-none-any.whl
  • Upload date:
  • Size: 59.9 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.3

File hashes

Hashes for Payton-0.0.2.17-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 518824a115d4aee10183e7c68183d4b757aca9dace4873119ddab88d628662b4
MD5 40b91a8aebbc7f65a37ab5b9c13d56be
BLAKE2b-256 976efd21f3e9c39749fea7ea3c1916787b598aab7016ff9799387e17e6498fca

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