This project is part of a research project exploring new ways to create typefaces. Implemented on a mobile device, this application would allow users to select objects out of their environment, capture photos of that object, and then create a new typeface composed of their captured objects. The algorithms listed below were an exploration into possible implementations that could take a set of arbitrary input shapes and return letters composed of those input shapes. I chose the name Subtext since the objects that comprise the letters will add a bit of subtext to the words themselves. For full technical explanations, more videos and images, please visit: www.artfordorks.com/SubtextDocs/

I implemented two algorithms based on the following papers:

  • Frank Bossen and Paul Heckbert, A Pliant Method for Anisotropic Mesh Generation, Fifth International Meshing Roundtable (Pittsburgh, Pennsylvania), pages 63–74, October 1996
  • Kenji Shimada, Anisotropic Triangular Meshing of Parametric Surfaces via Close Packing of Ellipsoidal Bubbles, Sixth International Meshing Roundtable (Park City, Utah), pages 375–390, October 1997

These were built using Open Frameworks in C++.The Shimada version also uses a library called Clipper with performs boolean operations on polygons (calculates intersecting polygons, etc). At first, I was using this method to see what results I could get with fitting the input shapes into the letters. As I developed the algorithm, I made less constraints on where the initial shapes were placed. By the end, I’m simply randomly placing points and only using the Clipper library to tell me how much of the letter is covered. When 90% of the letter is covered, it begins to the anisotropic mesh generation.


This version shows the isotropic mesh generated from uniformly sized shapes using the Bossen and Heckbert based approach.


This version shows shapes that are positioned based on the isotropic mesh generated from uniformly sized shapes using the Bossen and Heckbert based approach.

spacer
Another view of the mesh in a word other than Hi

A Happy Accident

spacer

Oops! This happy accident of a mesh was produced when I was attempting to implement and anisotropic in circle test. While the outcome was not desired, I found it to be particularly beautiful and interesting.