View Single Post
# 3 19-03-2011 , 02:59 PM
ctbram's Avatar
Moderator
Join Date: Jan 2004
Location: Michigan, USA
Posts: 2,998
1) Your issue has to do with parameterization, more specifically non-uniform parameterization. Your initial curve with 8 CV's will have 5 spans (8 minus 3) and 6 edit points (0 to 5).

This is all evenly parameterized == one unit between each edit point.

Now you cut a section from the middle of the initial curve leaving you with three curves. If you now look at the curve attributes you will see the parameterization is no longer uniform.

In my case my initial curve had 5 spans and was parameterized from 0 to 5

After cutting the center section I have 3 curves with non-uniform parameterization:

curve 1 - 2 spans from 0 to 1.361
curve 2 - 4 spans from 1.361 to 4.204
curve 3 - 1 span from 4.204 to 5

and tangency between the curves is maintained (G1 continuity).

Now if I draw a new curve by snapping to the CVs of the middle curve (curve 2) I get a slightly different curve! Why? Because the parameterization has changed! The new curve 2 (in my case) has the following:

new curve 2 - 4 spans from 0 to 4

Which means the new curve has uniform parameterization. Interestingly the new curve still maintains G1 continuity with curves 1 and 3. It's just the inner rate of curvature changes and so the middle section of the curve changes.

The bad news is Maya is an "artsy fartsy" program and although much of its NURBs tools where derived from a true surfacing application (studiotools now called alias) the necessary tools to adjust parameterization to correct this problem were not ported. Thus Maya's NURBs tool set is incomplete and you have to just deal with its quirks.

What you can do is after cutting the curves rebuild each with either uniform or curves selected. Yes, this will change the curves a bit but now each of the three curves will have uniform parameterization AND G1 continuity.

Now if you create a new curve by snapping to the CV's of any the 3 newly parameterized curves you will find the curves match their parent curve exactly because they will both have the same parameterization (ie all integer values).


The remaining two questions are dealing with the exact same problem. When you cut any curve you change its parameterization so that it is no longer uniform. Although, I am not sure if Q3 is true. If you cut a circle its shape should not change so I am not sure what you doing there.

You are never going to get a "perfect circle" only one that is such a close approximation as to be indiscernible from a perfect one unless you do as you did and zoom in infinitely close and if you are looking for that level of accuracy then Maya is not the application to use.


"If I have seen further it is by standing on the shoulders of giants." Sir Isaac Newton, 1675

Last edited by ctbram; 19-03-2011 at 03:13 PM.