[info-performer] Re: NURB surface

Date view Thread view Subject view Author view

jurgen.rusch++at++philips.com
Date: 10/18/2004 07:19:14


Hi Eric,

you asked:

> I have nurb surface data that has the trimming curves defined in 3D
> world space and not in the 2D parametric space of the surface.
> Does anyone know how I can convert these triming curves to
> 2D parametric space so I can use this data.

I do NOT really have a satisfactory answer for you but maybe the next
things help.

In general a NURBS surface is a mapping from a 2D space (called the
parametric space) to 3D space. This mapping can be highly non-linear
and hence the job to find the (s,t)-pair in parametric space that
belongs to a given (x,y,z) in 3D space (e.g. a point on the trimming
curve) can be ill-conditioned and may even be non-unique (e.g. when
you have a surface that loops through itself).

On the other hand, I can imagine that your class of surfaces is so
nicely-formed that for a given 3D point (x,y,z) the problem of
finding the matching (s,t) in parametric space that maps to the
point closest to the given (x,y,z) is uniquely solvable. This is
not too difficult to program - simply use Newton-Raphson iteration.
The problem is of course to find a good initial guess for (s,t) to
start the Newton-Raphson itration process.

But lets get back to what you said about the trimming curve: how
is it possible to have the trimming curve(s) in 3D coordiantes
instead of have them in parametric space? How did you get these
trimming curves? From a CAD package? If so, can't this CAD package
export the trimming curve(s) in parametric space?
I would suggest putting more effort in getting the trimming curve(s)
in parametric space because the programming of the inverse problem
(as suggested above) is not very trivial... :~)

With kind regards, Jurgen Rusch

-------------------------------------
Jurgen Rusch
member of SAVG-team (Support for Audio, Video & Graphics)
Prof. Holstlaan 4
5656 AA Eindhoven
The Netherlands


Date view Thread view Subject view Author view

This archive was generated by hypermail 2b29 : Mon Oct 18 2004 - 07:20:44 PDT