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...

See page history...


This is a graph I really love

image

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.

  1. 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.
  2. 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.
  3. Rotate this triangle such that the vector norm is the same as the last triangle.
  4. Move this triangle such that one of the points we know is the same lines up with the last triangle.
  5. 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.
  6. Move onto the next triangle.
  7. When you've done, just rotate the whole shape so the vector norm lines up with an axis then project down.
  8. Done!

This was implemented as part of the blimp tool and is part of a blimp series of posts!

© William Greenwood 2024