I’m having trouble matching two surfaces and was hoping for some advice.
I have a mostly vertical, funnel-shaped surface that connects to a more horizontal ceiling surface. At the shared edge, a visible kink appears, and my goal is to smooth this transition so that I can achieve at least G1 continuity.
I already understand that this shape can’t realistically be represented as a single untrimmed NURBS surface. I’ve also experimented with trimmed surfaces, but I haven’t found a solution that gives me enough control to achieve a satisfying result.
Based on my very basic understanding of surface matching, it seems extremely difficult to achieve this parametrically — possibly even impossible due to the sharp upper corners of the funnel surface.
Is this a fundamental limitation of surface continuity in this case, or am I approaching the problem in the wrong way? Any suggestions or workflows would be greatly appreciated.
I think a trimmed surface is the only way you’re going to get the sharp upper corners. It might be possible to Extend the boundary and crease/bend curves to make a suitable source surface for trimming. I’ll have a quick play.
Thanks, Tom — I really appreciate you taking the time to follow my prototypical logic. I haven’t actually tried the approach you described yet in my trimmed surfaces workflows, but I definitely will give it a try.
After collecting the curves and reordering + joining I did a network surface.
It looks maybe a bit smoother. Clearly visible however is that there is a rude part in the long vertical curves.
You could add a lot of V + U curves more, but my impression is, you can only solve this by getting the kinks out of these curves. Or go for a clearly visible seam (you cannot have both at the same time
regards, Eef
the 2 edges meeting in a corner of a surface define its surfacenormal in that point (crossproduct of the 2 curve vectors) you have 3 curves meeting in one point. but there is a conflict between the curves: when your surfaces follow these curves they will have a discontinuity of 82.2608462637 Degree.
Thanks, Jakob. From the design context, the shared edge between the two surfaces is more flexible than the rest. I will try to modify it so that, at that point, its cross products with the other two edges match the cross product of those two edges with each other. Off the top of my head, I’m not yet sure how this will look geometrically, but I’ll try it tomorrow.
In my interpretation this implies you’re okay with the ‘pinch’ or ‘kink’ getting softened—for that matter your original curve construction must change as I’m sure you know. Otherwise, you’ll have to choose a workaround after-the-fact. An idea is to manipulate curves in such a way you’re able to connect them via handy components like Connect Curves, Blend Curve, or one of those, similar to how you’re constructing beziers earlier.
Here’s a method that uses the same curve generation for all three profiles, just with different parameters. It’s not the same as your parameters, just for simplicity’s sake, but I think you can get very close to the same shape as your example with some tweaking
You should be able to figure out something more bespoke if you need it
The result is a single trimmed surface that arrays with matching tangents.