Gaussian curvature is the closest thing in Rhino to a price list. It is the product of the two principal curvatures at a point, and where that product is zero, the surface can be unrolled flat without stretching — which means it can be clad in a flat panel or a single-curved one that a roller can produce. Where the product is not zero, no amount of clever panel layout will save you: that patch wants double curvature, and double curvature is bought by the mould.
That is the whole test. Everything else is housekeeping. But the housekeeping is where early-career designers lose the argument with a facade contractor, so let's do it properly.
You are sorting the shell into three buckets, and two curvature readings do it.
Gaussian curvature (K) tells you whether the patch is developable. K equals zero means one of the principal curvatures is zero — the surface is flat, or it bends in one direction only. Cylinders, cones, and the ruled surfaces between two curves are all K=0. They unroll. K greater than zero is synclastic — dome-like, bending the same way in both directions. K less than zero is anticlastic — a saddle, a Pringle, the bit where your shell folds back on itself. Both of those are doubly curved and both need forming.
Mean curvature (H) separates the first bucket from the second. Where K and H are both zero, you have a genuinely planar region. Where K is zero and H is not, you have single curvature — developable, roller-bendable, still relatively cheap.
So: K=0 and H=0 is flat. K=0 and H≠0 is single-curved. K≠0 is the expensive one. In Rhino, that is the CurvatureAnalysis command with the style set to Gaussian, then run again on Mean. In Grasshopper, the Surface Curvature component gives you principal curvatures at any UV coordinate, which is what you want once you are scheduling rather than eyeballing.
The False-Colour Image Is Lying to You
Here is the mistake nearly everyone makes the first time, and it is the reason curvature maps have a reputation as pretty wallpaper rather than analysis.
Rhino's curvature display auto-ranges. It takes the minimum and maximum curvature values found anywhere on your surface and stretches the full rainbow between them. If your shell has one vicious pinch at the entrance canopy, that pinch sets the top of the scale and the entire rest of the building renders as a calm, uniform green — including zones that are comfortably doubly curved and will cost you a fortune. The image looks reassuring. It is meaningless.
Set the range manually. Clamp it tight and symmetric around zero, so that the colour break happens exactly where K crosses from positive to negative, and anything near developable reads as a narrow band. Then tighten it further until the developable bands shrink and you can see their actual edges. What you are hunting for is not a nice picture — it is the boundary line where K stops being near enough to zero. That line is where your panel specification changes, and you want to know where it falls before anyone else draws it for you.
Developable Isn't Always Buildable
Second test, and it gets skipped constantly. A surface can be perfectly developable and still impossible to roll.
Run the curvature analysis again in minimum radius mode. A developable strip with a 300mm minimum radius is not a cladding panel; it is a gutter. Every glass processor and every metal roller has a minimum bend radius for a given thickness and build-up, and it is not a number you can look up on the internet and apply to your project — it belongs to the fabricator, the make-up, and the panel size. Ask for it. Then go back to your map and find every zone that passes the K=0 test but fails the radius test, because those zones will come back as faceted flat panels with visible kinks, or as a line item nobody budgeted for.
Same logic applies the other way. Some doubly-curved zones are cheap. If a patch is part of a torus or a surface of revolution, every panel in it can share a mould. One mould, forty panels. The cost of double curvature is not really the curvature — it is the uniqueness. So when you are scheduling the expensive zones, record whether the panels within them repeat. A hundred identical doubly-curved panels and a hundred unique ones are different buildings.
The Tolerance Is Not Yours to Invent
The thing the contractor actually measures is not Gaussian curvature. It is planarity deviation: take a four-cornered panel, put a plane through three of the corners, and measure how far the fourth sits off it. That one number decides whether the panel can be made flat.
Which means your job at this stage is to panelise the shell, measure that deviation for every panel, and colour-code the result. Not the underlying NURBS surface — the panels themselves. A surface with gentle curvature can still throw unacceptable deviations if your panels are large, and a sharply curved zone can planarise fine with small panels. Panel size and curvature trade against each other, and you only see the trade once you have a grid on the model.
As for what deviation is acceptable: don't make it up. A tolerance you invented is a tolerance you cannot defend in a meeting, and the moment a facade engineer asks where it came from, the whole analysis loses its authority. Ask the fabricator for three numbers — their planarity tolerance for a flat panel of your size and build-up, their cold-bend limit for the same build-up, and their minimum roller radius. Then set your tolerance at or inside theirs and write it on the drawing. If nobody is appointed yet, call two curtain walling subcontractors and ask anyway. They will tell you, because an architect who asks early is cheaper for them too.
What you can do without anyone's permission is run the comparison. Say you test the shell at a 1,500mm grid and get deviations in one zone that double when you go to 2,500mm. That relationship — panel size against deviation — is yours to generate, and it is the most useful graph you will produce all month.
Fix the Curves, Not the Panels
This is the part that separates a model that survives design freeze from one that gets value-engineered into a shed.
When the deviation map comes back red, the instinct is to attack the panels: throw a Kangaroo planarisation solver at the mesh, pull the corners into plane, accept the result. Sometimes that works. Usually it produces a surface that no longer matches your section drawings, with creases where the solver found a compromise and a silhouette that has quietly changed.
The better move — and this is the whole premise of how we build the Heydar Aliyev Centre in the Parametric Architecture Masterclass — is to go back to the driving curves. If the shell is generated from a curve network, the curvature lives in the curves. Flatten the second derivative of a section curve across the problem zone and the doubly-curved region shrinks or disappears, and the panels update downstream without you touching a single one. You are not editing geometry. You are editing the thing that makes the geometry.
That is also why the curves have to be clean. A degree-3 curve with thirty control points carries local wobble that reads as curvature noise all over your Gaussian map, and no panelisation strategy will rationalise it out. Rebuild to the fewest control points that still hold the design intent, then analyse. In the course we rebuild the shell surfaces precisely so the downstream calculation stays fast and predictable — but the same discipline is what makes the curvature read true in the first place.
Three Decisions You Cannot Undo
Once the curve network is frozen, three things are effectively permanent. Everyone discovers all three too late at least once.
The panel grid direction relative to the ruling lines. In a developable zone the surface is ruled — there is a family of straight lines lying in it. Run your panel grid along those rulings and the panels are single-curved. Run it at forty-five degrees to them and every panel is a twisted quad, doubly curved by construction, on a surface that was free to be cheap. This is downstream of something that looks trivial: when you build a network surface in Rhino, the edge order it assigns — A, B, C, D — sets the UV coordinate system, and the UV directions are what your Grasshopper grid follows. Build two adjacent sections with different edge orders and your grid flips between them. Check the UV direction on every section before you panelise, not after.
Where the section seams fall. Put your ribbon splits where curvature changes sign, not where the model got heavy. A seam at a K=0 crossing is a joint between two coherent zones with one panel type each. A seam in the middle of a synclastic dome is a joint you will be detailing for weeks, with differential movement across two panel types that behave differently in heat.
Continuity across those seams. Tangent continuity is not curvature continuity. Join two surfaces G1 and the zebra stripes will meet but kink; the curvature map will show a hard colour break along a line that is geometrically smooth. Panels either side of that line cannot share a specification, and the facade will show it in raking light.
What to Send the Facade Subcontractor
Not the Rhino file. A Rhino file is an invitation to a two-week delay while someone else works out what you meant.
Send the shell split onto three layers by classification — planar, developable, doubly curved — with the curvature threshold you used stated in writing. Send a panel schedule as a spreadsheet: panel ID, area, planarity deviation, minimum radius, synclastic or anticlastic, and a repeat-group reference where panels are identical. Send the seam locations and say which ones are fixed. And send the panel grid with a sentence explaining why it runs the way it does, because the first thing a good subcontractor will want to do is rotate it, and they might be right.
Then ask them, in the same email, for the three numbers above and for the lead-time difference between flat, cold-bent, roller-bent and hot-formed units. The cost ranking is reliable in that order. The multiplier is project-specific and you should never quote one you haven't been given.
The reason to do all of this before design freeze is simple: afterwards, every one of these findings becomes a change. Before it, they are just design. The curvature map is not a presentation image. It is the last cheap conversation you get to have about the shape.
If the broader case for working this way is still something you're arguing internally, the role of parametric design in contemporary architecture covers the ground. But the argument that actually wins a facade meeting is a schedule with deviations in it.