Skip to main content

A Python module for designing generative crystal art

Project description

CrysplanarArt 3D 💎

"3D crystals from 2D planes"

CrysplanarArt 3D is a Python module for designing stunning generative crystal art using simple and intuitive tools. Built on turtle and pygame, it gives complete creative freedom with minimal code.


🖼️ Gallery

The Four Elements

THE FOUR ELEMENTS

Galaxy Collision — Good vs Evil

GALAXY COLLISION

Crystal Rod

CRYSTAL

Hexa Pattern

HEXA PATTERN

Generative Art

GENERATIVE ART

Other Designs

ART (2) NEW ART Screenshot 2026-05-18 132512 art 1 CRYS

📦 Installation

pip install crysplanar

⚡ Quick Start

from crysplanar import crysplanar

cp = crysplanar()
cp.Board('My Art', 'black')
cp.ArtPencil(size=1, hidepencil=True)

cp.crystalmaker(
    sidesno=6,
    crystalno=24,
    crayon=['blue', 'red', 'green', 'yellow', 'cyan', 'magenta'],
    sidelen=100,
    spacing=10,
    x=list(range(25)),
    y=list(range(25))
)

🛠️ Tools

Tool Description
Board Setup the art canvas
ArtPencil Configure the drawing pen
placer Move ArtPencil to any position
crystalmaker Generate crystal structures
drawshape Draw basic geometric shapes
bgmusic Add background music
picback Set background image

💎 crystalmaker

The flagship tool of CrysplanarArt 2D.

cp.crystalmaker(sidesno, crystalno, crayon, sidelen, spacing, x, y)
Parameter Description
sidesno Number of sides of the crystal (3=triangle, 6=hexagon)
crystalno Length of the crystal
crayon List of colors for the crystal
sidelen Length of each side in pixels
spacing Spacing between crystal layers
x / y Positional coordinate lists

Examples

# Fire Crystal 🔥
cp.crystalmaker(sidesno=3, crystalno=12,
                crayon=['red', 'gold', 'orange'],
                sidelen=100, spacing=10,
                x=list(range(12)),
                y=list(range(12)))

# Ice Crystal ❄️
cp.crystalmaker(sidesno=4, crystalno=24,
                crayon=['navy', 'royalblue', 'cyan'],
                sidelen=100, spacing=10,
                x=list(range(25)),
                y=list(range(25)))

# Rainbow Crystal 🌈
cp.crystalmaker(sidesno=6, crystalno=24,
                crayon=['blue','red','green','yellow','cyan','magenta'],
                sidelen=100, spacing=10,
                x=list(range(25)),
                y=list(range(25)))

🔷 drawshape

Draw basic geometric shapes anywhere on the canvas.

ds = crysplanar.drawshape()

ds.triangle(sidelen=100, rotate=False, fillcolor='red')
ds.square(sidelen=100, fillcolor='blue')
ds.rectangle(width=200, height=100, fillcolor='green')
ds.pentagon(sidelen=100, fillcolor='purple')
ds.round(radius=50, fillcolor='yellow', angle=360)
ds.polygon(sidesno=8, sidelen=100, fillcolor='cyan')

🎵 bgmusic

Add background music to your art canvas.

cp.bgmusic('music.mp3', repeat=True)

📋 Requirements

  • Python 3.x
  • turtle
  • pygame
  • ghostscript
pip install pygame
pip install ghostscript

📜 License

MIT License — free to use, modify and share with credit.


👨‍💻 Author

Made with 🧠 and 🐢 Born from a single line: circle(100, 190)

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

crysplanar-1.5.tar.gz (10.8 kB view details)

Uploaded Source

Built Distribution

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

crysplanar-1.5-py3-none-any.whl (9.7 kB view details)

Uploaded Python 3

File details

Details for the file crysplanar-1.5.tar.gz.

File metadata

  • Download URL: crysplanar-1.5.tar.gz
  • Upload date:
  • Size: 10.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for crysplanar-1.5.tar.gz
Algorithm Hash digest
SHA256 655db0b6bf12bb9cd84d3570b747e919f2001b414f0db683943c404fe8118fe2
MD5 4ade3f06aed92caf36a03f6d7c38fc5c
BLAKE2b-256 561059d460f1c774c60b90aab55cf2d9910aaeae0b8c7e22dbb542512059ab5c

See more details on using hashes here.

File details

Details for the file crysplanar-1.5-py3-none-any.whl.

File metadata

  • Download URL: crysplanar-1.5-py3-none-any.whl
  • Upload date:
  • Size: 9.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for crysplanar-1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 bb3389af6bd3157c5167def043a6cebae102b16e151d07576e3e2a6f988cafdb
MD5 c5a036ba9db9ebab05bc39d4dfd628a3
BLAKE2b-256 a5ea493d9d0de72ea302681119c8a3beafcca5a2c2f64060073a675ff554e097

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