Hey everyone... It's been a while since i've done much work on the nurbs editor. I'm about to get back to it -- and i'd like to get as much feedback as possible from anyone that cares. you can download the current version of it here:
Please be aware that this is not an update or anything-- i would just like to get some more feedback so i can make changes that would be helping everyone instead of just a one or two people.
I'm also currently writing a free alternative to Photoworks. I don't have a version of this software ready to test yet, but if you'd like to get a copy when it's ready, let me know.
Essentially, this editor will allow you to pick any face and convert it to a nurbs surface. From there, you can grab the various surface points and drag them around to edit the topology of the surface. the control points work off of a 3D sketch, so you can actually constrain the points to things and the surface will rebuild accordingly.
No, It doesn't preserve boundary conditions. you have access to all of the points that define a surface. you can also appoximate these surfaces to lower or raise the number of CVs that are generated. If you want to preserve the boundary conditions, then i would recomend not moving the outer 3 sets of CVs.
Is it possible you are talking about Beziers or basis splines or are assuming continuity greater than G2? I sorta get the feeling you might be thinking in terms of conditions where control vertices are "shared" by boundary conditions like a conic blend taken to higher degrees...? Don't think that happens in any of the mechanical or "lower end" programs, does it?. About the most exotic application I've seen (not that I've seen a lot, even among "low end" programs) a cubic with no internal knots put to is a G1 (because it allows for inflections?) blend. Nor will any of them calculate continuity beyond second derivatives, as far as I know.
Anyway, if my question to Andrew were to be more specific it might be something like: Given a surface, degree 3 or 4, with five CV's (U&V), geometric tangency defined on four sides; if the center CV is manipulated will the tangent boundary conditions be preserved? If the "point" being manipulated is a CV the answer will be; yes. I've seen routines that, in the same circumstances, would leave only the corner CV's undisturbed unless some sort of "cone of influence" parameter is defined which indicates the user is not manipulating discrete control vertices.
Exactly. I believe Cliff was referring to maintaining G3 continuity. High-order Bezier surfaces based on the bernstien's polynomials model give absolutely no control -- the points have very little influence. The surface is a true NURBS surface. meaning if you grab that center vertex - you can drag it from here to mars and the border's TANGENCY (G1) will not change. assuming the outer Hope that helps.
I think I see what you are saying. Your definition of "boundary condition", though is related to the third (fourth CV) and higher derivatives, whereas Andrew and I are limiting our concerns to G0 thru G2 because that's all we are capable of defining and maintaning (using "mid range mechanical modelers, Rhino, etc.). What happens beyond the third CV is manual manipulation eyeballing guess work type stuff.
While the systems I'm refering to "support" (translates to "can read without screwing it up" or maybe "can interpolate from user defined points") higher degree entities they do not support the higher order derivative functions / higher degrees of continuity, can't create a G3, 4,
5, ... blend.
I spend too much time on NG's without keeping up with all that stuff. 8~)
G1 will be maintained. (I'm sure I don't understand this stuff well enough to get off into parameterization and "C" conditions. I gather "C" is "G" with additional requirments, but that's the extent of it.)
The third CV will establish G2 continuity for degree 3, 4, 5, ..., entities (no?), but I was asking about maintaining G1 conditions while manipulating that point.
The effect of the editing function I was describing will deform a planar surface into something resembling a paraboloid.