HuaMuLan02 February 2012, 01:46 AMCan someone give me some information on it? Thanx in advance.
Per-Anders
02 February 2012, 02:12 AM
In which application? Maya? Max? C4D? XSI?...

HuaMuLan
02 February 2012, 02:43 AM
In which application? Maya? Max? C4D? XSI?...
In my own application.

ThE_JacO
02 February 2012, 12:10 AM
A bit vague as far as giving the problem a domain so we can help you :)
What part are you having problems with? Maths? Implementation? Language specific issues?

HuaMuLan
02 February 2012, 02:52 AM
A bit vague as far as giving the problem a domain so we can help you :)
What part are you having problems with? Maths? Implementation? Language specific issues?
Math. I think I have no problem to Implement it as long as I know the expression of that spline. Currently I have no clue to it;

AJ1
02 February 2012, 05:24 AM
I remember from statistics that you use something like this to draw lines in between points. Ive played around with it in 2D in Python, but I'm not sure if it would work in 3D.

http://en.wikipedia.org/wiki/Quintic_function

ThE_JacO
02 February 2012, 10:09 PM
Math. I think I have no problem to Implement it as long as I know the expression of that spline. Currently I have no clue to it;
To implement the spline itself all you need is an interpolant of choice. You can look at nurbs, b-splines, hermite (catmull rom) and other similar things. Sticking it to a surface is just a matter of placing the knots (or the cvs in case of a hermite) on the surface. The whole curve neatly sitting on top instead of going through is just a matter of having enough cvs to approximate the surface. Unless you want to look into cad like precision and implement proper trims, in which case you will need to dwelve into surface to surface and the rekatively painful domain on very high order surfaces and operations.

HuaMuLan
04 April 2012, 06:37 AM
Too many cvs.. I do not think it's a good idea for My user may find it hard to edit the curve on surface. Move one cvs only affect a small part of curve, am I right?

ThE_JacO
04 April 2012, 12:42 AM
That's always the problem with anything offering large sets of discrete data the user can interact with.
That said, if you have a source curve you project on, then keeping a live link to that means that the original curve can always be edited in its sparse data set and you get a bit of the best of both worlds.

Alternatively, since this sounds it's living entirely in your own client and you're not sitting on top of maya or some other apps that would have you jump through hoops, you should consider two things:

A) Hermite splines, that way at least the curve always goes through the points, reducing considerably the complexity
B) "Hierarchical" splines, which with hermite splines aren't too much of a bother, where you can edit the spline at different levels of subdivision and expect them to affect the further detailed states.

mje11even
04 April 2012, 02:42 AM
If the surface you are putting the curve on is parametric (nurbs surface) then you can just use a 2d curve but instead of x y coordinates, the control points have u v coordinates. To draw the curve you evaluate the curve to get a u and v and then evaluate the surface at that u v to get the x y z.

ThE_JacO
04 April 2012, 03:04 AM
You don't need it to be a parametric surface to do that. You can do UV2world space conversions just as easily on a mesh, either with an assigned UVset, or by just keeping an ordered table of the barycentric coordinates of the facet.

It only solves description and/or interaction, but does nothing more than placing the points for you, which leaves all the real problems such as certain types of splines not going through the points or precise on surface parametrisation completely unsolved.

CGTalk Moderation
04 April 2012, 03:04 AM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.

1