Screen capture copyright 2008 by Ice Edge Business Solutions. Used with permission.



What's a Straight Line Skeleton?

Well it's also called a Straight Skeleton or an Angle Bisector Network, if that is any help. It is also one of the more fun mathematical problems I've solved on the computer. This is probably more complex than the Static Redundant Server with Failover that I wrote while I was at emWare. These are the kinds of projects that make me want to go to work Monday mornings.


Screen capture copyright 2008 by Ice Edge Business Solutions. Used with permission.

A Straight Skeleton is an algorithm used in optical recognition, mountain simulation and hipped roof creation. It has been around longer than you or I but has only been formalized since the end of the 1900's. The method is pretty easy to do by hand, but gets tricky when you try to implement it on a computer in a way that it can be used in real time applications.

First start with a simple polygon. All edges must be line segments. It must be a closed polygon. It must also have no lines crossing each other.

Next imagine all the edges forming waves moving perpendicular to the edge toward the center of the polygon. Anywhere the edges touch, they cancel each other out. This results in the lines of the Angle Bisector or the hips, ridges and valleys of a hipped roof (if looked at from above).


Screen capture copyright 2008 by Ice Edge Business Solutions. Used with permission.

I implemented the Straight Line Skeleton in 2D and 3D for Ice Edge Business Solutions. They wanted a hipped roof solution for their modular home application. These images are all screen captures of that algorithm in action. Obviously, this is just the beginning of a more extensive solution that also includes gables, trusses and all those other niceties of real roofs.

Below and at the top of the page are examples of me just seeing how complex a roof this algorithm can handle. (Ok. I'm showing off.)


Screen capture copyright 2008 by Ice Edge Business Solutions. Used with permission.

More Straight Line Skeleton info.