Zauberflöte(2018) is Michael Hansmeyer's set design for Mozart's Magic Flute, directed by Romoeo Castellucci. Michael Hansmeyer is a computational architect who seeks generative computation as a creative tool for installations and architecture. His work creates a successful bridge between digital and physical world. The transformation from amazingly rich digital artwork to large-scale physical installations makes the visceral impact on audiences even stronger. The grotto's geometry uses a generative subdivision algorithm that create endless permutations and infinite scales to create lavish details. Along with the perfect symmetry gives the stage more depth and solemnity than normal pillars can achieve and perfectly reflect the nature of Mozart's works. While symmetry gives it order, the infinite amount of details grows like uncontrollable weeds on the installation that gives the piece a sense of disorder and unpredictability.


meh – Interruptions

Link to p5js:


  1. The artwork is square.
  2. The artwork consists of many short black lines, on a white background.
  3. The lines all have the same length.
  4. The lines are arranged in a closely packed grid.
  5. The lines have a range of random rotations.
  6. The lines rotate around their own centers.
  7. The rotations of lines tend to be close to 90 degrees.
  8. The positions and sizes of the blank areas are random.
  9. The blank areas tend to cluster.


I approached to the problem first by creating a grid of short lines, and then rotate them in random angles in certain range. I then used noise to create a range to identify the area where to leave empty, and looped through the lines to find out the lines that are within the range. If the line is not within the range, draw the line in its rotation. Finally, make the image clickable to change frame.

During the process I found that it was really helpful to use translate(), push() and pop() for line rotation around its center and to use noise(x, y, z) (especially using z for change to different noise).

Compared to the original image, my images can be improved by increasing the amount of detail by making var inc a larger number.



  1. The artwork is square
  2. The artwork consists of many short black lines, on a white background
  3. The lines all have the same length
  4. The lines seem to be generated randomly
  5. There is an occasional random space where the lines don't spawn
  6. The size of these spaces are random
  7. The line generation stays in the shape of a square (likely because of some margin).
  8. The outermost points on the outermost lines start on the edge of this square
  9. Lines typically intersect with each other
  10. More lines are vertical than horizontal

The Work:


After reading my assertions, I had a question: "How do I generate equal lines?" Apparently, all you need is a circle. I randomly generated my origin points and used this formula to create a start point for my line. To find the endpoint, I subtracted the midpoint from the start point. Then, I added this value to the midpoint and got the endpoint.

The next question was "How do I generate random empty spaces?" The answer: use noise.

The final question "When do I place the line?" was easy to answer. I just needed to place a line above a certain noise value



I feel as though (many) natural things display signs of disorder or randomness while (many) human-designed/built things display signs of order, as we have dictated precisely where and how we want to place something. In this way, I feel as though flower fields or gardens exhibits effective complexity because planted by humans, they have specified growth locations, and are trimmed to the desire of the gardener. Many can be placed in rows or in specific grid structures, which is total order. However, I also feel like many naturally growing foliage have a mind of it's own and after the initial set up (planting the seed), so long as it does not cross a certain boundary, the plants are allowed to grow however they want.

Because most human planted flowers/trees/etc do have designated areas, I think this selection sits a little closer to total order. Due to the way that plants grow, I think there is an inherent degree of disorder (if left unmanaged by humans). Though, this also depends a little on the type of garden:

Image result for gardens

Somewhat in between -- the flowers/trees aren't allowed to (really pass into the concrete path (though it does, a little), but it also grows with a degree of disorder (leaning towards the path, not being completely straight/perpendicular to the ground).

Image result for flower fields

Much closer to total order; very organized with extremely even paths; in the distance, the colors are very distinguishable from each other.

Image result for flower fields

Although they are all the same breed, the colors of the flowers show a degree of randomness and disorder.


The Problem of Dynamics: Must generative art change over time while being exhibited to an audience?

The dynamism of a generative art piece is very subjective; I don't think that adding time as a factor necessarily increases it. To be considered generative art, it doesn't need to change over time -- as some art may be missed by the user, and while this is valid for art, I don't think this is an effect of generative art -- but I think that art that changes over time can certainly be considered generative.

As generative art is "autonomous", I think that the way the art is produced should be able to produce different art each time it is used (so it is not repeating / looping) but because the art must be created, recorded, started/stopped at some point, I do not agree that the art must change over time as it is being exhibited. It is only the point of creation do I think it should be able to change (not necessarily is changing, as this is up to the discretion of the creator, but simply has the ability to change).