PDA

View Full Version : Nurbs Curve Normals? Rotate CVs?


drossxyu
04-05-2006, 05:27 AM
Is there any way to determine which way a curve is facing? I've been trying to create a roller coaster track and I'm always surprised which way my extruded surface ends up facing. There doesn't seem to be a way to 'rotate' CVs to fix the way in which they're facing. If anyone has any insight as to how to go about creating long twisting nurbs curves that will have predictable and controllable normals it would be appreciated.

avinashlobo
04-05-2006, 06:55 AM
Curves don't have normals. Surfaces do. Curves only have direction. You can check the direction by entering Control Vertex mode. The end which begins with a small square, followed by a 'u' will be the start of the curve. If it's built in the wrong direction, you can reverse it by choosing Edit Curves -> Reverse Curve Direction.

CV's do not carry any rotation information. They're just points in space & thus can only have position information. You cannot rotate a single CV about any axis. You can, however, select multiple CVs & rotate them around their common pivot, but this does not affect the actual direction of the curve.

While constructing NURBS curves, I find it easier to use all 4 views simultaneously. Maya allows you to click in any view during the construction of a curve. This makes it easier to create a twisting curve. You can, of course, always reposition the CVs at a later stage.

Emil3d
04-05-2006, 03:55 PM
Avi, actually curves do have normals. Although Maya doesn’t display them you can easily figure out their direction by imagining the line that connects an EP with its corresponding CV.

Here’s an example that shows clearly the effect of a curve’s normals:

Draw an extremely wavy curve looping in all directions and display its EPs, CVs and Hulls.

Create a long and narrow plane and attach it to a motion path using the curve.

Orient the plane to travel with its long side perpendicular to the path so that you can see clearly the effect of the curve normals direction on it.

For the World Up Type of the motion path, choose Normal.

Display the local rotation axis of the plane or alternatively just select it with the scale tool so that you can clearly see the orientation during the animation. In addition to that you can also turn off Two Sided Lighting from your viewport menu to keep track of the plane’s sides when it flips.

Play the animation and notice the plane orientation following the curve’s normals. Every time when the hull crosses the curve the plane will flip. If you transform a CV on the curve so that it changes the orientation of the imaginary line of the normals, the plane orientation will follow.

JohnPark
04-05-2006, 04:08 PM
Since Maya's curve normals are so difficult to wrangle, you may find it easier to loft the surface in this case. Take the curve you were going to use as a path for the extrusion and duplicate it a number of times. Arrange these as the boundaries of the surface (essentially, in the pattern of your original extrusion shape) and then loft them. You should be able to get the surface you want out of this.
-JP

avinashlobo
04-06-2006, 07:01 AM
Avi, actually curves do have normals. Although Maya doesn’t display them you can easily figure out their direction by imagining the line that connects an EP with its corresponding CV.

Here’s an example that shows clearly the effect of a curve’s normals:

Draw an extremely wavy curve looping in all directions and display its EPs, CVs and Hulls.

Create a long and narrow plane and attach it to a motion path using the curve.

Orient the plane to travel with its long side perpendicular to the path so that you can see clearly the effect of the curve normals direction on it.

For the World Up Type of the motion path, choose Normal.

Display the local rotation axis of the plane or alternatively just select it with the scale tool so that you can clearly see the orientation during the animation. In addition to that you can also turn off Two Sided Lighting from your viewport menu to keep track of the plane’s sides when it flips.

Play the animation and notice the plane orientation following the curve’s normals. Every time when the hull crosses the curve the plane will flip. If you transform a CV on the curve so that it changes the orientation of the imaginary line of the normals, the plane orientation will follow.Wow. I seem to have completely lost touch of my NURBS basics. I used to deal with all of this so heavily & yet I say something like that. Apologies to drossxyu for any confusion caused.

Emil, thanks for the detailed explanation. I've actually used the exact same example a couple of years ago to show someone how to deal with flipping along a motion path. I think I'm losing my mind... :argh:

Back to your problem though drossxyu, I'd recommend creating your twisting roller-coaster track with the Birail 1 tool. It should give you the precise control that you need.

Emil3d
04-06-2006, 02:49 PM
.... I think I'm losing my mind... :argh:....I don’t think so. Intuitively one would think that curves don’t have normals and that’s what I thought initially while I was reading you message until it occurred to me that actually there were a few cases where curve normals do have an effect on other actions. But in most cases like lofting, curves normals are completely disregarded and thinking of them that they don’t exist, won’t be that much wrong.

CGTalk Moderation
04-06-2006, 02:49 PM
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.