July 23, 2013

New Family!

On July 14th, Lily Childress and I said our vows on a mountain in the Adirondacks.

Echo, Lily, and Jack at the top of Blueberry Mountain

And now, something nerdy:


A Scalable Solution to the Choice of Last Name


Lily and I both felt strongly about having the same last name. However, the usual hyphenation scheme is not a scalable, and none of the hybrid names involving "Sankey" and "Childress" appealed to either of us. 

To choose a last name, we had two coins 3D printed in silver using shapeways and this python script. The script converts two gray-scale images into a height map defining the faces of the coins and creates a 3D model (OBJ file) for upload to shapeways. A few weeks after submitting the 3D model, we had polished silver coins with our names on them. Incredible.
meaningful metal objects

The plan was to simultaneously flip these coins until they agreed, and use the result as our family name (so no one can say there was ever any disagreement). To our surprise, they agreed on the first flip.

gasp

Apparently using the design to weight the coin can only take you so far. We recovered from the flip, said our vows, descended the mountain, and filled out the necessary paperwork in town at the Town of Harrietstown Town Court. Harrietstown is a town.

Since I spent a stupid amount of time figuring out this script, I thought I would publish it. If you are interested in making coins or discs, feel free to try this script out. Here is how it works:
  • Install python, numpy, and mayavi. Or just install the enthought / python(x,y).
  • Download the script coin.py into a directory containing two gray-scale images: "top.png" and "bottom.png". These images define the height map of the top and bottom of the coin. I recommend using Inkscape to design the images. 
  • Double-click the script. It's horribly inefficient, but after a few seconds, a preview plot should pop up. If it does, then you will probably find the file "coin_mesh.obj" in the same directory.
  • Upload the generated "coin_mesh.obj" to shapeways, specifying units of millimeters, pick a material and go!

You can edit the script to modify other parameters such as the coin diameter, thickness, and height of the features. Using the default parameters, the output might look like this. Notes:
  • Currently the script re-samples the image in a "pie" grid, using nearest-neighbor sampling, so make sure to blur your image!
  • Also ensure the features you care about are larger than the minimum resolution for the shapeways material of choice.
  • Shapeways has a maximum number of mesh triangles (currently ~1,000,000). Changing the resolution (R0) or size (D) can alleviate problems surrounding this issue.

Strangely, if you are a citizen of Quebec, you cannot change your last name by law. However, such coins could still be useful for naming children or choosing who gets to pick out the ice cream flavor this week, Lily. 

If you use or improve the script, let me know!

Happy decision making,
Jack