Advice on best shape fixing techniques

I am attempting to accurately model a two sheet hyperboloid based on an explicit formula in the form x^2/a^2 + y^2/b^2 - z^2/c^2 = -1 using a series of bounding rational beziercurves.

I then use GeomBFill_BezierCurve to create surface segments.  After this I used BRepBuilderAPI_Sewing to put the segments together.  The basic result is shown in the attached images. The basic approach was to subdivide the top sheet into 8 sections using three bezier curves (2 hyperbola half sections and 1 elliptical 1/8th section per segment).

There are more steps to go but I would like to first work on getting the best surface first. To this end, do any of you have some recommended approaches to help smooth out the shape.  I also need to eliminate common edges/vertexes.  I was initially considering further subdividing into smaller segments but wanted to get some other opinions/options that might turn out easier.

Also of note, I used the GeomFill_CurvedStyle option with GeomFill_BezierCurves but found that the curvature near the vertex of the hyperboloid was opposite (See second image). I think furth subdivision will help this but again was looking for potentially better options.

Any tips would be greatly appreciated.

Thanks!

Walter

Mikhail Sazonov's picture

Probably you might use GeomPlate_BuildPlateSurface (or Plate_Plate), using some initial surface (plane or half-sphere) and setting constraints of needed continuity (presumably C1) along boundary bezier curves.