Monday, September 15, 2008

Sierpinski's Triangle in Silverlight

Here's a fractal gem that's stuck with me since my discrete math days. Generating this fractal is simple:

  • Pick a random point.
  • Choose a random number from 1 to 3, each representing a point on a triangle.
  • Plot the midpoint between the first chosen point and the randomly selected point on the triangle. The color of the point can be different for each of the three points on the triangle.
  • Choose another random point on the triangle (1-3) and plot the midpoint between it and the previous point plotted.
  • Repeat the previous step (forever!)
The result is Sierpinski's Triangle! Click on the Silverlight app to clear the plotted points.

Note that the EditableImage class from Joe Stegman's Silverlight.Samples module was used in this project since it provides an efficient way to plot points on a 2-D plane. You can read more about it here.

The source code for this project is also available for download at CodePlex.

Feel free to comment!

No comments: