i get nurbs... but i REALLY want to get nurbs


#1

howdy,

i’m a rhino 3 owner and have made some models but for my primary work (tv, games) i end up doing most of my stuff in polys or subds… either in lightwave or maya.

anyhoo, because of a plugin called LWCAD that provides nurbs curves functionality inside of lw (which it never had before), i’m brushing up on some nurbs stuff and am realizing that while i know nurbs enough to work with them, there are still nagging nurbs questions that i NEVER got resolved.

i now seek to resolve them and was wondering if you folks would help out. and i figured that the best place to get info on nurbs is at the rhino forum. but the answers i seek are probably less mathematical (cuz you’d lose me) and more like michio kaku or stephen hawking explaining quantum physics to the masses. is that possible?

so here we go:

  1. is there an essential relationship between # of CVs and the # of knots?! googled this and was surprised to find this information not readily “findable”! youdathunk this is a pretty common question. right now, it seems to me that there is no (or an arbitrary) relationship between knots and CVs.

i would think that #knots would = #cvs but in playing around with drawing curves and looking at them in maya, this is certainly not the case.

does the degree of the curve affect the relationship between # ofknots and cvs? is there a formal relationship of any kind or is it just willy nilly?

  1. is the CV count the best indication of mesh density and therefore deformability or is it knot (isoparm) density? when someone asks about mesh density, are they asking about isoparms or hulls?

  2. is this correct - that isoparms are to surfaces what knots are to curves? i used to think that isoparms were merely “drawing aids” and their presence or absence indicated nothing of the density of the mesh. i have a feeling that this is incorrect.

  3. i would think that the essential focus of tools would be on the cvs and hulls but most tools including curve rebuild seem to focus on edit points and spans. when we talk about the “geometry” of nurbs, are we talking essentially about the knots and spans and isoparms and surface and NOT the hulls and cvs? hmmm… i suppose it would be wouldn’t it? cuz we create blends and trims on the surface entity of spans and isoparms… not on the cvs or hulls…

thanks fellows. i just wanted to get this nailed down once and for all!


#2

ack! now i’m really confused… found this at wikipedia:

“The number of knots is always equal to the number of control points plus curve degree plus one”

cool… i guess that’s my answer! but then i look at my curve in maya to confirm. it has a degree 3 and and 6 cvs so i should have 10 knots rights?

argh… in maya, i only have 4 edit points!

so… even though maya explicitly states in its manual that EDIT POINTS is synonymous with KNOTS… i assume this is NOT the case?

ugh… so then, what is the relationship between the number of EDIT POINTS to the number of CVs?!

thanks.

jin

p.s. can anyone easily explain CHORD LENGTH parameterization to me? and heck, if UNIFORM does NOT have anything to do with the length of spans… that could use some explanation too.


#3

sonofa…

wikipedia is wrong - # of knots is:

#cvs MINUS curvedegree + 1.

is that right? then is knots = editpoints? if that’s right, i’ll edit the wikipedia page.

jin


#4

I would stay away from Wiki if at all possible. They accept info from just about everyone, correct or not.

The only question that I have a relative answer to is that of isoparms.

In Maya, make a Nurbs cylinder. Remove the caps (if any). Then, take the top hull and grid snap them to the center so you have something that resembles a Hershey’s kiss. If you notice (depending on your primary settings) the section between the hull you just snapped and the previous isoparm is a little rough around the edges. If you go to isoparm selection mode and add a few to that area, you’ll see it smooths out.

Bases on this, and a few other times, I would say that Isoparms (or isocurves) are the lines that define density and shape. In regards to the relationship of number of knots/isoparm or number of CV/isoparm, I really don’t know. Could depend on the parameterization of the curves.

Great questions.


#5

howdy phix,

thanks. yah, i agree… it does indeed seem to be that the isoparms actually DO contribute to mesh density.

i did a little more hunting around and it seems that an isoparm DOES correlate with a knot. so every knot on a surface has an isoparm that runs through it.

so what i got so far is that while knots and isoparms are indeed DERIVED from control points and hulls, they do indeed contribute to what we refer to as mesh density.

thanks again. more snooping.

jin


#6

sonofa…

i HATE it when documentation is incorrect.

maya’s documentation is incorrect or they are using a standardized term in a non standard, “colloquial” way which is unacceptable.

okay, so what i got so far:

KNOT != EDIT POINT

!!!

even though maya’s docs say that they are synonymous.

knots are really frickin’ mathematical and so is difficult to reduce it to something less technical… this does not mean that i don’t care to explain it… it means that i don’t fully understand it!

in any case, for any given curve, most programs will generate a knot count (knot vector [ does not refer to a direction]) = cvs + curvedegree - 1.

some older apps generate a knot count = cvs + curvedegree + 1.

in maya, evidently, the number of EDIT POINTS you get per curve = cvs - curvedegree + 1.

in rhino (i’m using version 3) the edit points seem to equal the number of cvs which is more straightforward and the documentation is accurate.

ISOPARMS do seem to indicate actual detail… not just a rendering or viewing assistant. if you have an isoparm, you can deform the surface there by manipulating CVs.

aaaaargh…

see, i have used nurbs without ever getting any of this nitty gritty down but alas, i’m the type that it just bugs the heck out of me until i can get to a certain understanding.

anyhoo, this is what i got so far. doubtless i will discover more info and maybe you good fellows will have bits of wisdom to toss into the pot as well.

danke.

jin


#7

Hi,

1)there is a relationship between knots and CVs, but degree is also invovled…anyway looks like you may have an answer to that.

2)Umm…mesh density has nothing to do with deformability and neither do the number of knots or points, not directly anyway. To make smooth “freeform” shapes without creases your NURBS have to be at least of Degree 3.

3)No. Isoparms are just “drawing aids.” They are, by default, usually located along the knotlines of a surface, but that does not have to necessarily be so.


#8

hi jim,

what i mean about isoparms and “deformability” is that an isoparm represents the 2d equivalent of an edit point… that is, it represents a “point” at which the curvature can be altered…

this may NOT be so rhino… but it is apparently so in maya… there is an isoparm at every edit point. and nowhere else.

so this is not the case in rhino? if the crossing points of isoparms do NOT correspond to discrete points on the surface where i can alter curvature, how can i make make the isoparms arbitrary in rhino? if i rebuild a surface at higher res, or lower res, the isoparms do indeed seem to correspond with edit points.

oh… found it, isocurve density. at 1, if the mesh is sufficiently dense, they do seem to correspond to edit points but at higher, they are merely drawing aids… okidoke.

thanks

jin


#9

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.