Vector Snowflake Application

Another snowflake

A new application to draw your own snowflakes and save them in PDF format. Clean, cross-platform, open-source, and able to generate closed-polygon vector shape output. Oh yeah.

If you look around on the web, you’ll find any number of nifty programs to generate paper snowflakes. Some of these are pretty good– like Make-a-Flake and Snowdays which both have a neat interface like cutting a piece of paper. Ze Frank also has a great and very different online appwhere you can draw a flake out of translucent shapes and spin it in 3D.

(As you can see we’re primarily interested in illustrative snowflakes, not anatomically correct or fractal snowflakes, although there is some wonderful crossover.)

So while there are some nice snowflake program out there, we didn’t actually come across any that were both (1) cross platform (2) open-source, and (3) able to export a vector drawing with a closed path. While many of the programs do let you save an image of snowflake design, that’s actually of limited utility. What you really want is a vector drawing so that the design has infinite resolution and is suitable for importing and editing in Inkscape, Corel, Illustrator, and so forth.

That last part is — not coincidentally– interesting because surely everyone with a CNC machine, laser cutter, 3D fabber, vinyl cutter, or so forth would then be able to produce their own snowflakes from the pattern. And there is a growing community of fab labs and online sites like thingiverse where people share patterns for making physical things.
Our program is called “snowflake” (creative, ain’t we?), and you can follow the links at the end of this article to download it. It is written in the Processing development environment which is a wonderfully simple environment for designing cross-platform applications, particularly ones that manipulate graphics.

Once you launch the program, you are presented with a window that looks like this:
Snowflake Screenshots
The initial shape is an overall hexagon, which is generated by taking the editable slice– highlighted here and when you start the program– and reflecting and rotating it to complete the full pattern of the snowflake.

Within the editable slice, you can also see three highlighted control points that can be dragged around. There is control point at every vertex and at the midpoint of every line segment between two vertices.

Snowflake Screenshots
If you drag a control point that is the midpoint of a line segment, it turns that control point into a new vertex. That new vertex also gets new control points at the midpoints to its neighbors.

The two “initial” vertices (from the hexagon) are constrained to stay along their respective radial lines. Every other control point and new vertex can be dragged where ever you like.
At the lower left corner of the window is a “Clear” button that erases your snowflake and restores the initial hexagon. The “Save” button on the other side saves your snowflake as a PDF file. The file is automatically saved in the same folder as the snowflake program, under file name snowflake-####.pdf, where #### is a number.

Snowflake generator   Screenshot of PDF output

Here’s a screenshot of a typical snowflake, along with a screenshot of the corresponding PDF output file. Note that the PDF file just has the outline path of the snowflake saved– it’s ready to use without any extraneous colors or text.

The PDF file is generated directly from the showflake shape that you have drawn. So if you draw a shape with overlapping lines, you will see them in the output file.

Download the snowflake program!
The current version is Snowflake 2.0, uploaded July 22,2009.

Programs written in Processing are called sketches. The snowflake sketch can be either opened and run directly or from within the Processing environment.

Method 1: Download the Snowflake 2.0 application directly for your choice of platform:

  • Linux (1.2 MB .ZIP archive)
  • Mac (1.3 MB .ZIP archive)
  • Windows (1.2 MB .ZIP archive)

Method 2: Download Snowflake 2.0 source code and Processing

  • 2A: Download Processing for your platform.
  • 2B: Download the Snowflake 2.0 sketch file (50 kB .ZIP archive)

Old version (just “Snowflake”) is also still available for download:

Method 1: Download snowflake application directly for your choice of platform:

  • Linux (1.2 MB .ZIP archive)
  • Mac (1.3 MB .ZIP archive)
  • Windows (1.2 MB .ZIP archive)

Method 2: Download source code and Processing

  • 2A: Download Processing for your platform.
  • 2B: Download the snowflake sketch file (32 kB .ZIP archive)

We’re sure you’ll make some interesting snowflake designs, and interesting things from those designs. Let’s see them in the Evil Mad Science Auxiliary!

If you like playing with symmetry, you might also be interested in our SymmetriSketch application.


5 thoughts on “Vector Snowflake Application

  1. Thanks for creating this useful app! I’ve mentioned it on a list of other snowflake generators (mainly cribbed from your list, but including another two: one Flash-based system that our company made last Christmas, and another HTML-only one that seems to be more for educational purposes). You can see the full list here.

  2. Thanks so much for sharing this! I can’t wait to try it out.

    I’m having trouble getting it to run in Windows, though…When attempting to run I get the error message: Can’t find class. Any suggestions at to what the problem might be?


  3. ir be so cool if you could put ur friends face on the snowflake and shake it like an snow globe

Comments are closed.