Fitting Geometry between two planes

Hi, I’m working on a project where I am trying to align these three slightly different geometric objects, in such a way that each pair of the longer sides is coincident to the corresponding planes.

I imagine this needs some sort of optimisation by trial-and-error until it manages to match each pair of to lie exactly on the two planes but I’m not too sure how to go about doing that.

Would greatly appreciate anyone’s advice on this.


before wasting brain power on this one, whats the reason you do anything reverse? Normally you create these simple shapes from the planes and not the otherway around. Bytheway what is the reason for this huge amount of controlpoints? You can represent such a saddle-alike surface using only very few cps.

Hi Tom,

thanks for the reply. Unfortunately it has to be done this way mainly because these components come from a larger structure which was modelled through several other steps over the past year. These components will be physically fabricated now and as such I am trying to build a sort of frame which allows all of them to sit in the two planes.

same for the control points, they came from a minimal surface optimisation script which needed these subdivisions for reasons of accuracy during fabrication.

to also clarify, these surfaces have been baked only for visual aid…the surfaces are still very much still in the grasshopper script.

You can always do some sort of iterative approach. You align all three on one plane and then you move them around. But honestly, from what I see at the pictures, its very likely that there is simply no solution. So I’m not sure if its worth all the effort. I would rather make it quite compact, and live with the cutoff (?). Do you script?

Furthermore, although you apply some sort of minimal surface optimisation you can still reapproximate this shape with very few cps. The less you take the higher the chance the surface is smooth. Minimal surfaces are surfaces where the summation of both principal curvatures equals 0 (indirectly mean curvature == 0). Using the mean curvature analysis you can even model such a shape without any optimisation algorithm because the analysis tells you where you diverge. Since you are using Nurbs you cannot reach perfect 0 mean curvature, which means you will have certain deviation anyway. It just makes sense to reduce this heavy data for many reasons. You can even modify the shape for production purposes (if this is a degree of freedom you still have…), and still having a minimal surface.

It can be done directly without iteration.

I assume the edges which need to be coincident with the planes are planar and can exactly fit between the specified planes. I’ll describe a procedure for aligning the objects with the planes.

  1. Extend the planes to be fitted to so that they intersect. Intersect the planes to obtain a line.

  2. Create planar surfaces through the edges of the object. In Rhino you can use Plane with 3Point option and select three points on each edge. Extend these planes so that they intersect. Intersect the planes to obtain a line. Create to points on the line of intersection. Create a point on one of the edge planes which is not on the line of intersection.

  3. Orient the object . In Rhino you can use Orient3Pt with the points on the line and point on the edge plane created in the previous step as the references, and the intersection line of the and corresponding plane from the first step as the target.

  4. Move the object along the intersection line to the desired position if needed.