Skip to main content

Python Tool to Visualize Fractals


Simply out of boredom I have developed a very simple application to draw fractals from the L-system description. I am fascinated by their structure and elegance. But, unfortunately, I am not going to discuss fractals and L-system in this blog. There are many good sources to learn about those on the web. 

I am here just to introduce the tool. To see the tool in action please watch the video.

Download the tool from GitHub.


Dependencies

Python 3.0 or above

Tkinter

Turtle

Input Description

Axiom: The initial string for the generation.

Rules: A set of production rules. Rules are taken in form of Python Dictionaries.

Angle: Required Angle of rotation for the fractals.

Side Length: Length of each side of the Fractals.

Sample input for Piano-Gosper-Curve is:

            Axiom = FX
            Rules = {"X":"X+YF++YF-FX--FXFX-YF+", "Y":"-FX+YFYF++YF+FX--FX-Y"}
            Iterations = 4 
            Angle = 60 
            Side Length = 3"

Sample Interface


Popular posts from this blog

Understanding Conditional Variational Autoencoders

Add caption The variational autoencoder or VAE is a directed graphical generative model which has obtained excellent results and is among the state of the art approaches to generative modeling. It assumes that the data is generated by some random process, involving an unobserved continuous random variable  z.  it is assumed that the  z  is generated from some prior distribution  P_θ(z)  and the data is generated from some condition distribution  P_θ(X|Z) , where  X  represents that data. The  z  is sometimes called the hidden representation of data  X . Like any other autoencoder architecture, it has an encoder and a decoder. The encoder part tries to learn  q_φ(z|x) , which is equivalent to learning hidden representation of data  X  or encoding the  X  into the hidden representation (probabilistic encoder). The decoder part tries to learn  P_θ(X|z)  which decoding the hidden representation to...

Neural Architecture Search (NAS)- The Future of Deep Learning

Most of us have probably heard about the success of ResNet, winner of ILSVRC 2015 in image classification, detection, and localization and Winner of MS COCO 2015 detection, and segmentation .  It is an enormous architecture with skip connections all over. While using this ResNet as a pre-trained network for my machine learning project, I thought “ How can someone come out with such an architecture? ’’ Large Human Engineered Architecture Soon after I learned that many engineers and scientists with their years of experience build this architecture. And there is more of a hunch than complete math that will tell you “ we need to have a 5x5 filter now to achieve the best accuracy ’’. We have wonderful architectures for the image classification task, but for other tasks, we have to spend much of our energy to find an architecture with reasonable performance for those tasks. It would certainly be better if we can automate this architecture modeling task just as we learn the parameters of ...

A Comprehensive Guide to the Correlational Neural Network with Keras

Human beings along with many other animals have 5 basic senses: Sight, Hearing, Taste, Smell, and Touch . We also have additional senses like a sense of balance and acceleration , a sense of time , etc. Every single moment the human brain processes information from all these sources and each of these senses affects our decision-making process. During any conversation, movement of lips, facial expression along with sound produced by vocal cord helps us to fully understand the meaning of words pronounced by the speaker. We can even understand words only by seeing the lips movement without any sound. This visual information is not just supplementary but necessary. This was first exemplified in the McGurk effect (McGurk & MacDonald, 1976) where a visual /ga/ with a voiced /ba/ is perceived as /da/ by most subjects. As we want our machine learning models to achieve human-level performance, it is also necessary to enable them to use data from various sources. In machine learning thes...