Generative Art using Splines
I’ve been interested in generative algorithms (where we start off with some basic thing and build on/modify it to make a more complex work of art via an algorithm. I did some generative music work last semester and am really interested in doing something similar with 2D art. Gradient descent is an optimization algorithm that finds the minimum of a differentiable function. A spline is a function made of polynomial functions, much like what we did for our Week 2 check-in with SVG code. More specifically, a B-spline is similar to Bezier curves, combining smooth curves from a set of control points.
B-spline (https://en.wikipedia.org/wiki/B-spline)
(https://www.reddit.com/r/generative/comments/egkkwx/the_product_of_a_day_tinkering_with_bsplines/)
This image was generated using sand splines, specifically by tracing the changes in the spline as the algorithm progresses. It’d be cool to do something like this, maybe with different parameters or a different algorithm.
Prince Rupert’s Cube
A Prince Rupert’s cube is the largest possible cube that can pass through a hole in a unit cube without that hold breaking the cube into two or more parts. The actual side lengths of this cube are of length 3sqrt(2) / 4, or about 1.06 units in size. A possible project would be to 3D print a Prince Rupert’s cube and a cutout of the unit cube which allows it to pass through, so that people can try it out. One thing that could be tricky with this project would be keeping the 3D model intact, since the cutout cube as seen in the image above has very thin corners. A possible extension could be to find Rupert’s cubes for other shapes, to see how large of a cube can pass through a unit sphere, or a triangular prism, for example.
Rule 30 Cellular Automata
Rule 30 is a cellular automata (similar to Conway’s Game of Life as seen in CS5) characterized by aperiodic chaotic patterns. The pattern starts as a single live pixel in a 2d array, and each row of the pyramid represents the next time step, as the automata gradually expands. Rule 30’s creator, Wolfram, argues that the patterns mirror the random generation of some types of real-life patterns, such as those on seashells.
Some project ideas for exploring Rule 30 are using one of the looms at the makerspace to knit a rule 30 pattern (see above), or perhaps laser cutting it onto a piece of wood. Additionally, it could be interesting to explore other possible rules for generating other cellular automata.
Leave a Reply