NURBS issue

Discussion in 'Software' started by suhoi, Jul 6, 2005.

1. Joined: Jul 2005
Posts: 7
Likes: 0, Points: 0, Legacy Rep: 10
Location: UK

suhoiJunior Member

Guys,

Does anyone know how to mathematically represent NURBS having the passing points and NOT the control points? Nothing much in dedicated books such as Les Piegl etc...

Cheers

2. Joined: Jun 2005
Posts: 13
Likes: 0, Points: 0, Legacy Rep: 10
Location: istanbul-antalya

hasicktearJunior Member

make a table using points and project the points on the surface. then give points the form you want. finally product your surface using this edited points. i think it is the easy way to use passing points. there isn't any simple command for it.

3. Joined: Jul 2005
Posts: 7
Likes: 0, Points: 0, Legacy Rep: 10
Location: UK

suhoiJunior Member

Mate, u misunderstood me: I need the mathematical representation, I mean equations bla bla. Your approach is not the analytical one.

Thanks anyway

4. Joined: Mar 2003
Posts: 397
Likes: 18, Points: 18, Legacy Rep: 206
Location: Perth, Western Australia

Andrew MasonSenior Member

Suhoi

If I knew what you meant by passing points I might be able to help, but I have never heard the term before. Can you clarify what you mean.

5. Joined: Jul 2005
Posts: 7
Likes: 0, Points: 0, Legacy Rep: 10
Location: UK

suhoiJunior Member

A parameteric curve can be defined by either Control Points (i.e., those that can define the flexibility of the curve in addition to their weigths) and the Passing Points (i.e., those that lay on the curve, and sometimes called crossing points).

Hope this helps,

Regards,

S

6. Joined: Dec 2003
Posts: 55
Likes: 2, Points: 0, Legacy Rep: 40
Location: Pensacola, FL

redcoopersMember

I assume that your code has something such as [N]{b} = {p}

[N] would be the basis functions needed to produce nurbs, and {b} are the "ducks" or whatever you want to call the weights to produce a line passing through points in {p}.

You should be able to invert N to solve for the points. However, N is not square, therefore:
N b = p
N^t N b = N^t p
b = (N^t N )^(-1) N^t p

I believe that this should work. You may need to put in some boundary conditions so that it is not ill-conditioned.

Also, someone let me know if this is incorrect! I may be way off base here.

-Jon

7. Joined: Mar 2003
Posts: 397
Likes: 18, Points: 18, Legacy Rep: 206
Location: Perth, Western Australia

Andrew MasonSenior Member

Jon

You are exactly correct, this is what surface fitting programs such as our own Prefit program do. If the number of control points is equal to the number of data points the fit is exact but prone to geometric instability, if there are fewer control points than data points the result is a least squares fit.

The hard part of the problem is determining the isoparametric values for the data points. If these values are known precisely in advance the results are good, however estimating them is extemely difficult.

Andrew

Forum posts represent the experience, opinion, and view of individual users. Boat Design Net does not necessarily endorse nor share the view of each individual post.
When making potentially dangerous or financial decisions, always employ and consult appropriate professionals. Your circumstances or experience may be different.