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 app where 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!

4 comments

The following comments are owned by whomever posted them. This site is not responsible for what they say.
Authored by: AKeric on Thursday, December 18 2008 @ 09:43 AM PST Vector Snowflake Application
Right on. Glad you guys are using Processing, it's a fun language! Cool sketch.
Authored by: tristanr on Friday, December 19 2008 @ 04:11 AM PST Other snowflake makers
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.
Authored by: Anonymous on Friday, December 19 2008 @ 04:41 PM PST Vector Snowflake Application
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?

Thanks,
Chester
Authored by: Windell on Friday, December 19 2008 @ 06:27 PM PST Vector Snowflake Application
This can be caused by a couple of things. One fix is apparently to install Quicktime for Java:
http://processing.org/discourse/yabb/YaBB.cgi?board=Proce55ing_software_bugs;action=display;num=1109005089

Another thing to try is "Method 1I" above-- download Processing and the source code, and open the snowflake.pde file from within Processing.

---
Windell H. Oskay
drwho(at)evilmadscientist.com
http://www.evilmadscientist.com/

Welcome to Evil Mad Scientist Laboratories. New projects are posted every Wednesday.


Bookmark EMSL

EMSL RSS Feed
Twitter: EMSL
del.icio.us
feedburner
Feed on Google Reader
YouTube Channel
Add technorati Fave

technorati search

Subscribe to get new articles by E-mail:

E-mail address:


Preview | Powered by FeedBlitz

My Account





Sign up as a New User
Lost your password?

Who's Online

Guest Users: 3

Forumposts

Order: New Views Posts
Latest 5 Forum Posts
 
Re: Ferritc core sub..
 By:  npkeith
 On:  Friday, November 20 2009 @ 10:34 AM PST
 Views 0 Replies 0
Re: alphanumeric led..
 By:  karlgg
 On:  Thursday, November 19 2009 @ 10:14 PM PST
 Views 0 Replies 0
Re: alphanumeric led..
 By:  Leviathan34
 On:  Thursday, November 19 2009 @ 07:21 PM PST
 Views 0 Replies 0
Re: 0 of 9 LEDs work..
 By:  Windell
 On:  Thursday, November 19 2009 @ 12:52 PM PST
 Views 0 Replies 0
Re: 0 of 9 LEDs work..
 By:  michael pechner
 On:  Thursday, November 19 2009 @ 11:40 AM PST
 Views 0 Replies 0

DIY Hardware for Electronic Art


Interactive LED Panels


Meggy Jr RGB
LED matrix game
development kit.


Business-card sized
AVR target boards


Peggy 2
LED Pegboard kits