BSpline Surface from Cloud of Points

Suppose, you have a tab with x,y,z points, and you want to construct a surface out of them. By the way, the points are already chosen in a way, that you can construct a "good"-looking smooth surface out of it. So it does not look somewhat scrambled or weird.

Is the Class Geom_BSplineSurface the right choice ?

That is its interface:
(const TColgp_Array2OfPnt& Poles,const TColStd_Array1OfReal& UKnots,const TColStd_Array1OfReal& VKnots,const TColStd_Array1OfInteger& UMults,const TColStd_Array1OfInteger& VMults,const Standard_Integer UDegree,const Standard_Integer VDegree,const Standard_Boolean UPeriodic=Standard_False,const Standard_Boolean VPeriodic=Standard_False)

Does this imply, that I have to transform my onedimensional tab of x,y,z data into some 2-dimenional array, somehow ? Is there a simple way of transformation or a class-method to do so ???

Any hint is a great gift...

Thanks in advance


François Lauzon's picture

Hello Christian,
you can have a look a the GeomPlate package, this package that a set of points and could build a NURBS surface over them. You won't be able to build a closed surface (like a sphere) but you will be able to build a nice patch. Look at the sample on Plate to see how to use it.

Good Luck,