My project is an interactive tile editor. The user chooses from pre-designed square tiles to build complex patterns. In creating this tool, I was inspired by the line and form components of sacred geometry. I wanted to explore how triangles, hexagons, and other unique geometric forms could be used to design patterns, and what such a design interface would look like. I originally wanted this tool to be a hexagon shaped grid made of triangles that turn black when clicked, like a traditional 8-bit art tool. However, I couldn’t figure out how to get the mouse to be aware of which triangle the user was clicking. I changed my idea to be a square grid with tiles that are designed to reflect the original geometry I envisioned. I created this tool in p5.js. I built the individual tiles with looped lines, and then created a 10 x 10 grid and a template tile tool bar.
It was challenging for me to figure out how to make the template tiles placeable on the grid, but I eventually was able to do it by creating a variable called “currentPattern.” All tile designs are written as functions with x, y, width, and height left as open variables so they can be drawn in multiple locations on the canvas. X, y, width and height variables are assigned for control patterns 1-13. These values are plugged into the tile functions and used as the template tiles in a sidebar. A mousePressed function check if it is over one of the template tiles. If it is, and the user clicks, the mousePressed function assigns that tile as the currentPattern. Then, if the user clicks on a square in the 10 x 10 grid, the mousePressed function checks which pattern is the currentPattern, and places that tile on the grid.
Users may download their patterns for personal use. The patterns may be used online as avatars, icons, or banners. Users may also use this tool to sketch out or prototype complex designs like room maps for web-based games. Other uses may include designing simple puzzles, mazes, or geometric linework art. This tool may also be used to create patterns for quilting, cross-stitching, or other crafts. The pre-set squares are designed to create unique geometric shapes not often seen with other tile-based digital programming tools.