View Full Version : Question about "Loft"
mihao 02-13-2003, 01:16 AM When I use NURBS's loft function, I am a little puzzled as following.
I loft a surface with two curves with identical topology, but after lofting, isoparms on the result suface has different topology.
In the following picture, the curve 1 and the curve 2 is the origin, and the surface 3 is the result. So you can see that 5 CVs on curve 1 (and curve 2), but isoparm on surface 3 has 6 CVs.
Can anyone give me some hint? Or is there any way for me to make a surface with identical isoparm's CV number?
Thanks
|
|
luminis
02-13-2003, 02:21 AM
That should not happen under a normal situation. Make sure the parameterization of the curves is good. For a 5 CV curve (such as the ones in the picture) it should have 2 spans. Select each curve and look in its attribute editor the value for 'Spans'. If either of the two curves does not say 2, then go to Edit Curves/Rebuild Curve []. In the options set Rebuild Type to Uniform; Paramater Range to 0 to #Spans; Keep to Ends only; Number of Spans to 2; and Degree to Cubic. This should now make perfect 2 span curves with 5 CV's which when lofted give a surface with 5 CV's in that direction as well.
Let me know if it still does not, and we'll try to figure something out.
mihao
02-13-2003, 03:14 AM
Confusing... :surprised
Why 2 spans?
from the manual, it seems that a span is the curve part between two edit point, and one edit point corresponds to one control point. Is that right?
See following attachment pls.
luminis
02-13-2003, 03:24 AM
Yes, a span corresponds to the part of the curve between two edit points, but each edit point does not necessarily correspond to a CV.
A rule of thumb for this would be something like:
#Spans = #CVs - Degree
#Spans = #EditPoints - 1
Normally a curve is cubic which is of degree 3. For the 5 CVs curve you are working with, this would be 5 CVs - 3 = 2 spans.
If you look at the picture you attached in the last post, there are 16 CVs, and if you count carefully the spans, there are 13 of them (and 14 edit points).
The only type of curve where an EP corresponds directly to a CV is in a linear (degree 1) curve.
Hope this clarified it a bit :)
mihao
02-13-2003, 04:06 AM
eeeeeeeeeeeexpert!
Thanks a lot for clarifying so clearly. Actually, I keep thinking why after I added a small number of edit points the CVs become massy, now I know why.
Mihao
:buttrock:
mihao
02-13-2003, 04:44 AM
Althrough the theroy is good, but the reality is a little bit different.
I have checked these two curves, and both of them are with spans of 2, degree of 3. So there is no reason for them to loft out a surface with spans of 3. Right?
Anyway, I tried the rebuild tool, and found that it works. But both of new created curves have 7 CVs ans 4 spans (much more that the origin).
By the way, I created the second curve indepentandly (use CV curve tool, not copy from the first curve), do that means a different topology is created?
Any idea?
see following attachment.
luminis
02-13-2003, 05:19 AM
Hmm... this is very intriguing. First of all, there is something I see in the picture with the parameter range, it goes from 0 to 4.992 and this should be from 0 to 2. This is something that would be expected when the curve comes from a separate process, such as cutting an old long curve, or perhaps even by attaching two small curves together (which is more plausible, by looking at how the CVs are arranged). Either way, this should be fixed when rebuilding it (the option 0 to #Spans takes care of it), so it should give no trouble.
You also said that one of them was created from the CV tool and not from a copy - don't worry, this does not affect anything. It's still a valid curve.
When rebuilding the curve, make sure you have these exact options set:
http://www.luminis3d.com/cgt/img/rebuild-curve.jpg
Any other setting can create a result such as the one you described, 4 spans, 7 CVs, etc.
If after using these settings it still gives problems, then something is really going wrong (something deeper that can not be fixed by parameterization only). So to simplify things - I suggest you create a new pair of curves with 5 CVs, select all the curves, go into Component mode, point snap each CV of the new ones on top of the old one's CVs, delete the old curves and then you will have perfect new curves that should match the shape of the previous ones, but with good parameterization turning out on good lofting.
Please let me know how it goes, I'd really like to hear how it turns out for you. :thumbsup:
mihao
02-13-2003, 05:41 AM
You kick the point.
I checked the CV curve tool which I used to create both curves, Chord length is set instead of Uniform. I think I mst set it some days before when I learned the manual.
I change it to Uniform, then everything is all right.
(OH, my god, I remember all curves in that face model are created by using this CV curve tool, so I have to make it again. /Faint...) :shrug:
Thanks a lot for help me out.
:beer:
wrend
02-13-2003, 05:47 AM
fear not, just rebuild your curvs, 0-# spans, keep cvs!
as has been shown above:
its simply due to mismatched paramaterisatn that you are getting the extra spans. is all. as you see, chord length does param based on length, so a two span, any span, can have any old param range, but uniform will always do range equal to number of spans.
MasonDoran
02-13-2003, 08:51 AM
i have a question to post....how does one know the u and v direction by looking at the surface...and the normals? I would like to know without having to display normals....
thanx for the info...sometimes it is these little tidbits of information that can make a world of differance!:thumbsup:
wrend
02-13-2003, 12:57 PM
you can do a display surface origins, r - U, g - V, b - N.
or old by CVs, with scnd CV denoting the UVality, and the normal implied by.
luminis
02-13-2003, 05:47 PM
mihao:
Good to know you found the source of your problem, and regarding the rest of the curves, just do rebuild them with the options I showed above, or with Keep CV's selected as wrend suggested - whichever gives best results.
2byts:
Wrend's answer of showing surface origins is probably the easiest one, as it shows you very much visually the three directions. But if you do it for many surfaces, you will have to manually turn them off as well, or it will become cluttered. And this can become a bit tedious.
If you go to component mode to see the CVs of the surface (which is something done more often), you can easily tell all three directions: One of the CVs will have the shape of an O (actually, looks more like a little square), this is the origin of the surface (parameters are 0,0 here), next to the origin, you will see two CVs, one with the shape of a U and one with the shape of a V. The direction in which these are, shows the direction the U and the V go for that surface. The normal can then be subtracted from this info by using the Right Hand Rule. Look at this pic:
http://www.luminis3d.com/cgt/img/uvn.jpg
DnBsquirrel
02-13-2003, 11:24 PM
Students... welcome to curve architecture 101, please take your seats. luminis you really know your stuff!! Thanks for all the info.
I learned a lot about curves by reading the A|W Studio Tools manuals, I think there is a whole book on curve/surface structure. It's a good read if you have a studio tools manual set laying around.
btw that Right Hand Rule is very cool, I first came across that while programming Shockwave 3D vertice meshes. Its a good general 3D tidbit to have in the brain bank.
MasonDoran
02-14-2003, 08:56 AM
Awesome....i never thought i was a nerd until now...:)
CGTalk Moderation
01-14-2006, 10:00 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-2012, Jelsoft Enterprises Ltd.