1
$\begingroup$

Wa are talking about Non-uniform rational B-spline. We have some simple 3 dimensional array like

{1,1,1}
{1,2,3}
{1,3,3}
{2,4,5}
{2,5,6}
{4,4,4}

Which are points from a plane created by some B-spline

How to find control points of spline that created that plane? (I know its a hard task because of weights that need to be calculated but I really hope it is solvable)

enter image description here

For those who did not got idea of question - sorry my writing is bad - we have points that are part of plane rendered here and we need to find control points that form a spline which solution is that rendered plane.

$\endgroup$
6
  • $\begingroup$ BTW: I am new here so feel free to edit my question and its tags. $\endgroup$
    – Ole J
    Commented Dec 14, 2010 at 12:22
  • $\begingroup$ Personally, I think whoever downvoted owes an explanation. Aside from the poster's non-native English, which is eminently fixable, this doesn't strike me as a bad question. On the other hand, I don't know enough of the words in the question to know this for sure -- hence the appropriateness of a comment accompanying a downvote. $\endgroup$ Commented Dec 14, 2010 at 14:51
  • $\begingroup$ @Ole-J, have you looked at this problem in a smaller dimensionality as a starting point? What if you had a set of points in 2-d space $L=${$(x_1,y_1),(x_2,y_2),...(x_n,y_n)$} and were trying to find a B-spline that approximated those points $L$? Do you have a way to find the (or any) B-spline that could fit those points? This seems more like a question that is appropriate for stack-overflow in the current format of the question. It's not really an interpolation problem as a "reverse-mapping" or "best-fit" problem. $\endgroup$ Commented Dec 14, 2010 at 15:19
  • $\begingroup$ @OJ: I don't understand this: "Which are points from a plane." Perhaps you didn't intend your example to be interpreted literally, but those points don't lie on a plane, not even nearly. Maybe "plane" = "surface"? $\endgroup$ Commented Dec 14, 2010 at 15:24
  • 1
    $\begingroup$ Without fixing the number of control points before-hand, you have the problem of this being an "under-determined" set of equations, or an "over-determined" set of equations. With enough control points, you can have an exact fit, at the expense of bizarre swings and interpolated regions. It's the same as trying to find a best-fit polynomial to a set of points: there could be no solution in the form you're looking for; there could be multiple equally good solutions; there could be an overly-good fit because you use so many terms (control points) to fit it perfectly. How did you get to this Q? $\endgroup$ Commented Dec 14, 2010 at 15:27

2 Answers 2

1
$\begingroup$

Use a black box optimizer where the parameters are the locations and weights of the control points and the function to minimize is something like the error volume between the surfaces.

$\endgroup$
8
  • $\begingroup$ could you provide some links to articles on this black box optimizer topic? $\endgroup$
    – Ole J
    Commented Dec 14, 2010 at 12:46
  • $\begingroup$ en.wikipedia.org/wiki/Optimization_%28mathematics%29 $\endgroup$
    – h10
    Commented Dec 14, 2010 at 12:49
  • $\begingroup$ 'the function to minimize is something like the error volume between the surfaces.' ... hm - I need and have data from 1 surface. so how can I calculate such error function? $\endgroup$
    – Ole J
    Commented Dec 14, 2010 at 13:10
  • $\begingroup$ The other surface is the NURBS surface defined by the control point locations and weights. $\endgroup$
    – h10
    Commented Dec 14, 2010 at 13:20
  • 1
    $\begingroup$ If your next comment is that you don't yet have the NURBS surface, then I'm going to give up and let someone else help you. $\endgroup$
    – h10
    Commented Dec 14, 2010 at 13:26
2
$\begingroup$

What the PO actually is asking for, is how obtain the control points (or equivalently the wireframe) of a NURBS surface (the PO says "plane" instead of surface) from points on the surface (the black blots on the surface) that correspond to the corners of the patches on which the surface is equal to a rational parametric function.

The standard technique for obtaining the control points from surface-patches' corners is to Compute B-spline control points using polar forms (unfortunately the article is behind a paywall), anyhow "Polar Forms" and "Blossoming" are the magic words to look for.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .