HuaMuLan

02-08-2012, 01:46 AM

Can someone give me some information on it?

Thanx in advance.

Thanx in advance.

View Full Version : I want to implement an editable curve on my model surface. Have no ideal myself yet.

HuaMuLan 02-08-2012, 01:46 AM Can someone give me some information on it? Thanx in advance. |

Per-Anders

02-08-2012, 02:12 AM

In which application? Maya? Max? C4D? XSI?...

HuaMuLan

02-08-2012, 02:43 AM

In which application? Maya? Max? C4D? XSI?...

In my own application.

In my own application.

ThE_JacO

02-14-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?

What part are you having problems with? Maths? Implementation? Language specific issues?

HuaMuLan

02-17-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;

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-18-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

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

ThE_JacO

02-18-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.

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-06-2012, 07: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-10-2012, 01: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.

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-13-2012, 03: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-13-2012, 04: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.

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-13-2012, 04: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.

vBulletin v3.0.5, Copyright ©2000-2014, Jelsoft Enterprises Ltd.