Degenerate Condition: Are Bevis and Butthead Back?
The word degenerate conjures a lot of different images for different people. For me, it was mostly Bevis and Butthead and that sniggling little laugh. Even in the grunge 1990s this pair was a bit of a throwback.
But we’re on a CAD blog here, so the word degenerate has a different meaning entirely. Still, if I can get you to associate the CAD degenerate condition with the degenerate condition of Bevis and Butthead, I will have accomplished my goal.
You know how we’re always talking about NURBS and 4 sided UV meshes, and all that jive? Well, it turns out that it all has some real application. It’s more real than UFOs and Bigfoot put together. CAD surfaces want to be 4 sided. You can trim them to have any shape, but they all want to be 4 sided.
In the top image, the lavender color is the underlying 4 sided surface, while the yellow is the actual face from the car model, shown in light blue in the lower image.
A degenerate surface is one where one or more of those sides is zero length. When a side of the UV mesh is zero length, all of the UV curves for that side come together in a point. The most common degenerate surface is a sphere.
The sphere is an analytical shape. The point at the north pole is a degeneracy because all of the UV lines come together, and that side of the mesh is zero length. The degeneracy doesn’t cause any trouble because it’s a predictable shape. But if you get a less predictable shape, and you have to shell it, or fillet over it, you might have trouble. Or you might not. That’s one of the things about degenerate condition. Sometimes it works, and sometimes it doesn’t.
Just because zero is such a special number in math, things like this are hard. Sometimes you will see little spikes around a degeneracy, it’s like a little black hole, another zero that causes trouble.
So, what I was saying in the last post, was if you can avoid making a degenerate condition, like the one above (created by using a Boundary surface with 3 curves that all touch on the ends), don’t be seduced by the fact that it works! Make something that is just going to work better as your model progresses, and use the Fill feature.
It will work better for you down the road and you will have fewer mystery situations where you can’t knit, shell, offset, fillet, or perform other features. This is one of the reasons why I like the Fill feature so much. Don’t get me wrong, Boundary is another work of art, but in situations where it will give you a degenerate condition, choose the Fill instead.
Thanks for the explanation Matt. For me, the black hole analogy was spot on.