# Convert a polygon mesh to a bspline surface

Problem:

Getting a polygon mesh as input, I have to construct a surface that looks exactly to the given input. My task is to generate a b-spline surface that exactly looks like the connected polygon mesh. It is obvious that my b-spline surface has to have a degree of one in both directions $$u$$ and $$v$$.

Output:

As an output for my solution. I have to generate a matrix of control points that represent that generated surface.

One property of this matrix is that each elements of each row and column are connected with each others. If our control points matrix is a $$n \times m$$ matrix, then let $$C_i$$ a column of this matrix with $$C_i = \langle e_{1i}, e_{2i}, \dots, e_{mi} \rangle$$ then there must exist path in the polygon from $$e_{1i}$$ to $$e_{mi}$$.

One thing to consider if there is no edge between $$e_{ji}$$ to $$e_{(j+1)i}$$, we can construct one as long as this edge lies inside the polygon.

My trivial idea:

Assuming that the polygon has $$n$$ nodes. I create $$n$$ other nodes inside the polygon near each original node. I create then a $$2 \times n$$ matrix. The first row contains all the points constructing the polygon. Second row contains the corresponding additional inserted node. In order to connect two additional inserted nodes, i have to make sure that the line between two nodes is kept inside the polygon.

This idea works only for simple structure and the complexer is the polygon the hard to find these additional points.

Any good solutions maybe?

• Is the bspline aspect relevant to your question? I don't see how and it looks like you're actually asking about polygon quadrangulation. Dec 14, 2019 at 1:34