Carrying on from the last post I have coded another generator in Python, using this idea to simulate the outcome of a natural process by generating stalactites in 2D. The original idea for creating a design process rather than designing an object itself came from seeing them in caves on Grand Cayman, as they are created by a controlled process over hundreds of thousands of years, so I thought it made sense to try to recreate this process myself.
Here are some of the outcome images from the program:
Here’s my code written for Python 2.7, using the idea that a stalactite is essentially an inverted histogram.
import numpy as np
import matplotlib.pyplot as plt
from Tkinter import *
def __init__(self, master):
self.button = Button(self, text = "GENERATE", font = "Helvetica 39", command=self.generator)
self.button.grid(row=0, column=0, sticky=W)
mu, sigma = 100, 5
x = mu + sigma * np.random.randn(4000)
n, bins, patches = plt.hist(x, 50, normed=1, facecolor='black')
plt.axis([0, 200, 0, 0.09])
root = Tk()
app = Application(root)
Learning how to program using Python opened up new methods of designing to me. I became interested in writing a process to design something, rather than just designing it, because of the possibilities this method offered.
To explore this idea in a simplistic form, I wrote a program that randomly generated a flag using Python and Matplotlib for the graphical output. It creates a 3×2 canvas of a random colour, then two lines with a random colour, thickness and direction are displayed on top of it.
The issue with that is, a lot of the time you then get plots that look like this, which obviously isn’t a great design. So a method was needed to filter out the bad flag designs. I needed to find a mathematical method of distinguishing them from each other.
Some of the best flag designs use the golden ratio spiral, so I thought it would make sense to make use of this also. So for each flag the program creates, the intersection of the lines into the coordinates of the golden ratio is outputted. So you can then pick out the better designs such as the ones below which have 8-9 intersections.
I tried to base this program around the 5 basic rules of flag design, these are:
- Simplicity – The program only uses 3 features
- Meaningful symbolism – The program only allows for symbolism retrospectively, it’s impossible to randomly generate symbolism
- 2-3 colours – The program only allows for 3 colours to be used maximum
- No lettering or seals – Nope
- Distinctive – Definitely, as these designs are generated from a random process
My original idea was that once these flags were ordered in terms of their golden ratio intersections, they would mutate and be optimised leading to designs with more intersections using a survival of the fittest style evolutionary algorithm. But this did not totally make sense for this program as the solution is trivial (but I may try this with later projects).
The program also does not take into account the thickness and colour of lines in designs when they are assessed, and these are factors in what makes a good flag design. But defining these things could take away from this being a truly random process.
The highest number of intersections in a design that this program has outputted is 10, which is this design, which I think could pass for a genuine flag design.
I designed a traffic system for the Building Centre’s Night Time is the Right Time competition and my work was exhibited online:
I find it surprising that still there are no features of the Welsh flag in the Union Jack while there are features of the other three country flags. I created this design that replaces the stripes with the limbs of the Welsh dragon
For one of my graphics courseworks I had to design a new badge for the car company Alvis using the theme of ‘deconstruct, rearrange and then reassemble’ as well as an animation to promote this design. I created an animation that deconstructs the original badge and then uses it’s features to create a new design, allowing you to see the design process of the badge happening in front of you
As part of this graphics project I also experimented with combining typography and Brutalism, resulting in designing this typeface inspired by famous Brutalist buildings as well as architecture around Coventry
As part of this graphics project I experimented with techniques used by Filip Dujardin