Parametric Art
Triply Periodic Minimal Surface Christmas Ornament using Grasshopper.Ceres Miller, 2021
Grasshopper is a Rhino plugin for parametric 3D modelling. Gyroid shapes are easy to make with 3D printing, and you can make pretty ornaments and patterns using them.
Many triply periodic minimal surfaces can be approximated with mathematical formulas, and Grasshopper can use those formulas to build 3D meshes. To make this gyroid, a trigonometric formula is used.
More detail on minimal surfaces can be found in this article.
Rhino and Grasshopper often struggled to resolve the gyroid without errors. The 2D mesh had to be thickened using Millipede to be printed, but it had difficulty doing so; sometimes to get it to resolve properly, I had to restart my computer to force Rhino to do the maths again until it worked. Millipede has a great remesh tool, which reformats a mesh to make it neater and change the number of vertices. This also assisted in helping Rhino avoid problems.
The produced mesh can be cropped or tesselated to make different things. I cropped it into a sphere, making the gyroid look like a piece of coral. Rhino had problems adding a hole for a ribbon to tie the ornament with, so I had to use Blender to carve a hole by moving vertices and faces around.
The complexity of parametric objects, although most software can handle that easily, causes a lot of tools to break, especially ones designed for simpler objects. It might be better to think of parametric modelling not as being a way to create complex things, but rather as a starting point for something else, or as a quick prototyping tool. To make complex things for any kind of production, it may be more reliable to know what you want first and write it declaratively with code rather than parametrically with flowcharts.
Gyroid surfaces are used as infill for FDM 3D printing. If you watch it print, or graph a gyroid function and scroll through the Z axis, (you can do that below) you can see that gyroid shapes are made up of a bunch of spinning spirals. Instead of using Rhino and Grasshopper to make an STL file for 3D printing, you might be able to get more complicated results by writing 3D printer gcode yourself. 3D printed ceramics use this already to get intresting results.
Parametric Textures using SVG
Ceres Miller, 2022There are lots of programs for parametric texturing, like Adobe's Substance Designer. Writing out parametric textures in SVG however ended up being a whole lot easier.
SVG filter primitives are powerful tools for creating and manipulating images entirely in a web browser. Combined with SVG's animation capabilities, you can potentially have complex, client-side rendered textures and motion graphics that react to things on the page, all delivered in a handful of kilobytes.
Parametric texturing using SVG made getting access to Perlin noise textures easy, quick, and free. It formed the starting point for a workflow making noisy, random textures, similar to marbling.