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.3.tar.gz (9.5 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.3-py3-none-any.whl (8.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for crysplanar-1.3.tar.gz
Algorithm Hash digest
SHA256 612e78cae698fb7898d795ccf237f9e5e5741f37950a75bfe60e1b22a55daeb7
MD5 fd4802175df877c5e94fc5c11c56b4a0
BLAKE2b-256 70d9e5779e78264981d1524624f90951faf7ed0404339cb17a9ac6a454b6588b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: crysplanar-1.3-py3-none-any.whl
  • Upload date:
  • Size: 8.9 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e2df67136d290a61165d49a694d0f20d2eb6f1c380d4d772a178fe1046306e73
MD5 5597473a75adcfbfc5703fe91fbc5bd8
BLAKE2b-256 d26d6cbf33c1af314c562dbeda2591c816b49a0119279b9ca03ecbfabef2cce2

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