Unwrapping The Blimp
02/03/2026
Abstract: Taking a segment of a blimp and making a pattern out of it.
Keywords: Programming - Blimp
See more keywords...
This is a graph I really love

It's a visualization of an algorithm that takes the blue shape as the input and outputs the red, flattened shape. This is actually a really non-trivial problem to solve, so the graph is very beautiful to me.
Use case
The use case is: I have 6 segments of a blimp which are each made out of a continuous length of some material. Each segment is made up of a list of triangles whos edges overlap to form the shape. I need to turn each of the segments, which may or may not be different to each other, and turn them into a 2D pattern, which I can then run through a strip-packing solver to work out the amount of material required for that specific design.
This won't be running in real-time, and the actual amount of triangles to process is very small, but the process is still fairly fast.
Method
Here's what we do.
- Order the triangles in order along the x-axis. I have the advantage that I know all the triangles are connected to only two other traingles (1 each at the ends) and they are along the x-axis.
- For each triangle: Work out which of the 2 points of the last triangle (pre-move) are the same as 2 of the points of this triangle.
- Rotate this triangle such that the vector norm is the same as the last triangle.
- Move this triangle such that one of the points we know is the same lines up with the last triangle.
- Using the point we just matched up and the 2 other points we know should match up, rotate around the point we matched along the axis created by the vector norm of the three points so that the other 2 points line up.
- Move onto the next triangle.
- When you've done, just rotate the whole shape so the vector norm lines up with an axis then project down.
- Done!
This was implemented as part of the blimp tool and is part of a blimp series of posts!
© William Greenwood 2024