+title: Unwrapping the Blimp
+abstract: Taking a segment of a blimp and making a pattern out of it.
+keywords: programming,blimp
+date: 02/03/2026
+
+## 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.
+
+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.
+4. Rotate this triangle such that the vector norm is the same as the last triangle.
+5. Move this triangle such that one of the points we know is the same lines up with the last triangle.
+6. 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.
+7. Move onto the next triangle.
+8. When you've done, just rotate the whole shape so the vector norm lines up with an axis then project down.
+9. Done!
+
+This was implemented as part of the [blimp tool](https://github.com/w-greenwood/blimp) and is part of a blimp series of posts!
+
+- [Lattice-Boltzmann](/lbm)