thoughts on curvature combs,splines control

Discussion in 'SolidWorks' started by neil, Jan 24, 2005.

  1. neil

    neil Guest

    Hi all,
    I was looking through some old files on my pc...found some PDF plans of the
    space shuttle I scouted on the net...somehow never got around to making a
    model of it...ended up having a wee dabble today with SW2005....

    anyway I imported an image to a sketch plane and put in a reasonably
    accurate spline with multiple points tracing the outline of the nose and
    wing.
    OK so now I thought I would turn on curvature combs and tweak it a
    bit...hmmm looks quite bad this way...needs a bit here a bit there...

    I jumped up the curvature scale a bit but then I started wondering what the
    deviation scale was showing in reality...is there a way to tell? is a ripple
    actually a ripple? how accurate is it?

    next thing I ended up doing was heading off to the system options to change
    the increment value to 0.1...I was thinking it would be nice if we could
    have a button in the FM to enable a nudge increment...any support??

    I started tweaking -SW2005 has the added virtues of being able to control
    tangency direction and magnitude and this gives a lot of avenues to push and
    pull on -and it slowly came to something with smoothish transitions but
    somehow it still had some wobbles that propagated despite my best
    efforts...I could be a long long time playing with it if I got fussy.
    In any event I looked at my result and couldn't really decide what type of
    curve I had made in a geometric sense other than it looked visually
    acceptable and followed my imported image. Step 2...create another curve
    something I know is accurate...a parabola at the nose...positioned and
    adjusted to resemble the spline...curvature comb on...hmmm...real smooth...
    shows up my previous tweaking though...still the splines managed a good
    impersonation.

    Now here is my thought...that in the absence of a curve through calculated
    points it should be possible to apply a smoothing routine to the spline comb
    or perhaps to have it approximate a secondary sketch... I don't mean spline
    simplification here.
    Is this possible? or is this heading into major spline maths? maybe I don't
    understand continuities etc well enough... what do other people think about
    it esp. those working in ID ?
    may be this is another one of my too cerebral posts : )
    neil
     
    neil, Jan 24, 2005
    #1
  2. neil

    That70sTick Guest

    If all the "ripples" are on the same side of the curve, I wouldn't
    worry too much. It's the inflections where the comb crosses the curve
    that are trouble. Even if there are ripples, if the comb is smooth,
    the spline is C2 continuous and the ripples in the comb do not indicate
    "dents" in the spline.

    Another point to consider is that SW looks at analytic curves like
    ellipses and parabolas differently than the way it looks at splines.
    Analytic curves have exact mathematical solutions for curvature.
    Splines are analyzed to within a certain precision, but it is not exact
    at all points.

    SW splines, when first sketched, force curvature to zero (= linear) at
    the endpoints. Examine the curvature comb of any newly sketched
    spline. One way I found to get rid is to draw a construction line
    across the spline near the endpoint and them trim (you can then delete
    the construction line). Then you will have a spline with non-zero
    curvature at the endpoints.
     
    That70sTick, Jan 24, 2005
    #2
  3. Better splines=fewer points. Try to use start and end tangency vector for as
    much as yuo can, and then add the abosulte minimum of internal points.
    Periodically try to delete internal points just ot be sure that you REALLLY
    need them.

    I do shot for smooth combs, but as the Tick said, what is really critical is
    that you eliminate inflection points (positive curvature to negative or back
    again)
    Not quite sure what you changed (snap?), but maybe youw erre using what I
    would suggest - I find it really easy to nudge spline point in the property
    manager. Pick a point, and use the X,Y (and Z for 3D) to do fine tweaking
    Except that spline simplification is a pretty good trick to smooth out
    splines becasue it eliminates extra points and moves the remaining to where
    they need to be to give the same general shape. if you have a really
    complicated spline, like one through data poitns from a faro arm, spline
    simpliifcation is not a bad first step to a smoother spline.
     
    Edward T Eaton, Jan 24, 2005
    #3
  4. neil

    Jeff Howard Guest

    Not a SW user here; don't know what's applicable or not, not even sure
    what's "true"...
    A curvature comb vector "should" be defined as
    1 / Radius * Scale Factor
    It should be accurate to system tolerances.

    Ok, this is where I get in over my head (it's not a simple subject, there
    are not any "one size fits all" answers and I'm not sure I have any of
    them): Where smooth is concerned: Less is More. (That's why higher order
    curves exist?). As an example, trying to approximate half an analytic
    curve like a parabola to revolve into an ogive type shape by "tracing" it
    with spline fit points, and ending up with a smooth curve, dooms you to
    frustration / failure. You'd be much happier creating the curve as a two
    point spline between two construction curves (or other entities depending
    on what the software offers for controls) and defining some end condition
    (Normal to, G1, 2, 3) and then manipulating the influence of the condition.
    The resulting curve will be an approximation of the parabola but it can be
    every bit as "smooth" (without inflections, ripples, etc.). If the
    approximation is not close enough to live with you have the choice of
    adding spline fit points or constructing the curve as a composite of
    multiple curves. Which way to go isn't always easy to figure out.

    I have never read thru Ed Eaton's curvy stuff tutorials; doesn't it address
    this subject to some extent?
     
    Jeff Howard, Jan 24, 2005
    #4
  5. neil

    Cliff Guest

    The proper three points, for an unconstrained parabola (spline),
    should give an exact analytic parabola to computational limits.

    In many cases NURBS curves are exact analytic curves.
    In others, such as Y=SIN (X), it's impossible.

    The key to all of this is the degree of the NURBS curves
    that the system allows. IF it's cubic max then any analytic
    curve of the form Y = A + B*X + C*X**2 + D*X**3 may
    be exactly represented (to computational limits) and
    anything else must be approximted in some way by the
    user.
    (This no doubt oversimplifies considerably as rational
    polynomials are used in NURBS.)

    Knowing the basis of the *desired* curve (or, by extension,
    surface) is a huge advantage in selecting points & methods
    for it's approximation.

    HTH
     
    Cliff, Jan 24, 2005
    #5
  6. neil

    Jeff Howard Guest

    The proper three points, for an unconstrained parabola .......
    Thanks, Cliff. Actually it's probably a lot more helpful to someone that's
    not as mathematically inept as I (am to an extreme) or someone using some
    software other than the current genre of "mid-range mechanical" modeler.
    What I have found is that most programs have, in varying degrees, the tools
    necessary to get a smooth shape (perhaps an inflection is desired, etc.)
    using graphic / visual indications that require little to no comprehension
    of the underlying mathematical functions (the software should know the
    math). Mostly I wanted to point out the frustration that is likely to be
    the result of trying to define a curve similar to a bisected parabola by
    manual placement of fit points. That particular type curve with a moderate
    to high rho, I think, demonstrates the problem well because of the large
    difference in curvatures.

    "... by extension, surface": Good point and one that I didn't want to get
    into. Interesting but very time consuming subject to analyze and explain
    (and I'm not the person qualified to do it); the same does apply. Rather
    than over defining a surface with multiple sections, establish boundaries
    and get the software to do the work. For curves or surfaces the big
    problem the user is faced with is defining the basis, foundations, "hard
    elements" of the shapes, then let the software do the blending between
    them. That's what it's getting paid to do. 8~)
     
    Jeff Howard, Jan 24, 2005
    #6
  7. Nah, not really, because a detailed discusion on curves would take an hour
    and a half on its own.

    I did go into splines a little because they behave like lofts (which have
    spline based skins) and know that it is easier to isoalte issues in a single
    spline thatn the correpsonding issue in a complex loft (use one to diagnose
    and predict the otehr). I know I made the case to use as few spline
    nodes/loft profiles as possible to get smoother geometry. There is also some
    information on when you have to break and go a different direction, though a
    lot of that is outdated with 2005 with better clmaping out of the wiggles
    (2005 is a VERY big step forward, and I will go into it a bit in Orlando in
    the all new Curvy stuff presentation)

    The real way to gain control over splines is to run experiments and see what
    happens when you use them on the types of things YOU want to model. The big
    tips - use as few nodes as possible, keep an eye on the curvature combs, and
    use the start and end tangerncy magnitude and direction to sculpt the spline
    as much as you can (NOT the middle ones - using those tangency vectors is
    almost always worse than not using them at all) are pretty standard.
    matt lombard also has a page on splines on his site, but last time I checked
    it was not updated for 2005.
     
    Edward T Eaton, Jan 24, 2005
    #7
  8. neil

    neil Guest

    I changed the spin box increment from 5mm to 0.1mm...I was just thinking it
    would be handy to have a nudge size available right there....or maybe hold
    the shift down while using the xyz
    neil
     
    neil, Jan 24, 2005
    #8
  9. neil

    neil Guest

    I agree that if you simplify the splines right down and avoid the middle
    ones the curves become more easy to articulate but why should this be the
    case....what I was thinking was that there ought to be a way for SW users to
    make use of say 6 point splines rather than the 2 or 3 they default to....we
    now have a good deal of control over spline points and then we avoid using
    it because it is messy to play with...why not use the computers processing
    ability to optimise/iterate the curvature to smoothness goals for
    us...simplifying the spline removes points and shifts the curve say within
    3mm limits....however I want my curve to stay the much the same but have it
    auto-tweaked a bit here and there by 0.1mm and by the tangency to be nice
    and curvy...maybe I am asking too much.

    If you feel like putting together a discussion on the inside story of curves
    sometime I think there would be a lot of interest in it.I am really looking
    forward to seeing the CS301 powerpoint....
    BTW thanks for your ongoing generosity to SW community

    neil
     
    neil, Jan 24, 2005
    #9
  10. neil

    matt Guest

    Yeah, there are a few things up there getting slowly out of date, and the
    splines stuff is definitely one of them.

    I'm always a bit leary to mention that sometimes I do things in the complex
    shapes arena when people mention other names like Eaton, Wilson or
    Salvador, but I do have some examples, and a short user group presentation
    on complex shapes, including some splines ideas.

    I agree that splines in 05 have improved tremendously, but it seems hardly
    a week goes by without receiving a couple of SPRs on some spline wackiness.
    I never responded to your (Ed) query about recalcitrant spline handles, but
    I have run into it several times. Sometimes you can't drag the handle any
    smaller no matter what you do, but you can enter in a smaller value in the
    prop mgr. I can't deliberately make it happen, but I definitely have run
    into the situation more than once.

    One thing I wish for is a way to control the comb directly, which would in
    turn control the spline. I know what I want the comb to look like, but I'm
    having trouble tweaking the spline to make it do that. The analysis tools
    are essential, but it definitely leaves you in the iterative guessing game
    instead of just having control to make it do what you want directly.

    In terms of number of spline points, I'm very much of the school to try to
    let it happen natually as much as possible, with a few well placed points
    and end tangency/curvature control. I might use a bunch of clustered
    points to get a sharp-ish corner or to suddenly flatten out into an almost
    straight-line-ish tail. In the end, messing with splines is like being a
    good pencil sketcher. You can give all the analytical advice in the world,
    but you've either got the eye for it or you don't. I've learned a ton from
    working through Ed's stuff, but I'm still just a clumsy engineer.

    Matt
    http://mysite.verizon.net/mjlombard
     
    matt, Jan 25, 2005
    #10
  11. neil

    Cliff Guest

    Probably I should mention that all planar conics are of degree 2 and
    hence need exactly 3 points to define them (no more and no less)
    and that most lofted surfaces, such as are used on aircraft surfaces,
    are at most cubic, needing 4 points or less (on a cross section).

    For things like conics just compute 3 points and decide if
    it's open or closed ... (circles & ellipses are closed, parabolas
    open).

    Approximating other curves with splines with many points is a
    bit harder. But one of the keys is knowing what type of curve
    (it's basic mathematical function) it is.

    Also, just to confuse poor jb with his C2 malarkey, the C2
    bit actually refers to the partial derivatives, not just 2D planar
    tangent issues.
    It's C2 in ANY direction (and all at once) IIRC.
    Much more interesting <G>.

    Someday, just for fun, ask poor jb about developable &
    nondevelopable surfaces. He's funny <G>.
     
    Cliff, Jan 25, 2005
    #11
  12. neil

    Jeff Howard Guest

    Probably I should mention that all planar conics are of
    Gottcha. Think it might be worth stating (to avoid confusing); you cannot
    hit the "spline" button, pick three points and end up with a conic curve.
    Close, given some circumstances, but no cigar.
    ? Wonder if that's still universally true even for major surfaces such as
    wing or forebody skins? I can see where higher degree entities might be
    unnecessary computational overhead; a G1 conic need not be very different
    from a G2 quintic from a "fluid friendly" or aesthetic perspective
    (especially after hand finishing of tooling). I have seen OEM surfaces (UG
    translations) that were all degree 2 & 3, but I have seen aftermarket (STC
    type stuff, Catia v4 translations) with higher degree (5, 7) surfaces. A
    byproduct of the translation to NURBS or maybe the different system /
    operator? I've sort of assumed that, ignoring the finer degree of control
    inherent in higher degree curves, G1/C1 surface continuitiy was as good as
    it got for some period of time, but subsequent software development allows
    G2/C2 and higher definitions and the need for surface degrees higher than
    3. Pure conjecture on my part.
     
    Jeff Howard, Jan 25, 2005
    #12
  13. I sure hope you like it.

    Its a continuation of where we left off last year, but really pushes the
    concept of completely ignoring features, solids, surfaces. The answer to
    modeling problems is not features... as a matter of fact, a recurring theme
    is that 'feature-think' change the way you design and can actually cause
    problems in the product. Instead, I maintain that the path to solving
    problems is concentrating on the faces and the UV direction of those faces,
    and considering features only for their ability to deliver those UV lines.
    It will be the longest powerpoint so far (I am pushing around 130 slides,
    with the end just barely in sight), and I hope the most thought provoking.
    Please read the speaker notes!

    It will not get posted to the website until after I get back. I will be
    finishing it in my hotel room, and I am scared that, again, it might be
    wayyyyy too long for the 1.5 hour session.

    Now, I have a little left to finish up in the office, a final practice
    presentation tonight, and then I am off to Florida.
     
    Edward T Eaton, Jan 25, 2005
    #13
  14. neil

    neil Guest

    perhaps you could start your session by confessing its over-length and
    asking if it is ok to go on a bit longer. I think you will find that if the
    room is still free to use there would be a lot of support for hearing it
    all. Please don't scrimp on the ppt version : )
    break a leg...
     
    neil, Jan 25, 2005
    #14
  15. Good suggestion - I think I go last on each day, though on Wednesday people
    will be bailing early to make flights.
    They usually break out coctails after the last breakout, so maybe we could
    take five at the end of the scheduled time so everyone who wishes can get a
    drink, and then return. It will still be long, but the booze might make
    them not care so much.
     
    Edward T Eaton, Jan 25, 2005
    #15
  16. neil

    neil Guest

    a 5min break and then another 15min would sound reasonable to me if I were
    attending.
    I would think one of the attractions of going to SW world would be to hear
    CS301...of course there are always going to be those distracted by the other
    bits...but they could catch what they missed later by downloading the ppt...
     
    neil, Jan 25, 2005
    #16
  17. neil

    Cliff Guest

    You actually need 5 parameters for a general conic. Often
    the end tangencies are used, or five points.

    This is needed to compute which conic curve it is.
    The resultant is, in the general form, a cubic rational.
    A soon as cubics were used you could have G2/C2.
    Remember, they are the degree of the partial differentials
    of the curves or surfaces (2 in the case of G2/C2) and hence
    the original curve or surface must be (at least) of degree 1 more
    (or constant).

    Where are some of the real experts? I know a few lurk <G>.
     
    Cliff, Jan 26, 2005
    #17
  18. neil

    Jeff Howard Guest

    degree 2 and hence need exactly 3 points to define
    There's good reason to wonder. See the blank stare? I don't even know
    what's going over my head. I do think you are describing in general
    mathematical terms while I'm thinking in terms of how to get brand X or
    brand Y software to plot the curve given it's descriptive abilities. I
    also catch myself looking at things incorrectly or assuming things that
    aren't true. You keep wondering and I'll keep trying to comprehend and
    dispel my misconceptions. 8~)

    I was going to ask if when you say "3 points to define" you were talking
    about curve control vertices or fit / plot points. At the time it didn't
    seem be pertinent; it could be either and would depend on the software.
    Bear with me while I try to sort this out ...

    A conic (degree 2 NURBS curve): has two fit points (the ends) and three
    control vertices. A direction (directrix; I had to look that up) and focus
    are somehow defined in accordance with the software's wishes (creating a
    third implicit? / explicit? fit point, but no knot). The curve's
    elasticity, which determines if it's a parabola, hyperbola or ellipse, is
    determined by the weight of the center control vertex, specifying a rho
    value, etc. So to create a conic tangent to two curves we can create lines
    thru the first and second CV of each referenced curve and extend them to
    intersection. The tangent conic is created by placing it's three CVs (not
    fit points) at end points and intersection. It's minimum radius of
    curvature is then defined by adjusting point weight of the center CV. No
    one wants to go to that much trouble so tangent, tangent, rho functions or
    some variation are programmed. (Hmmm.... I'm not sure what I described is
    a conic curve. I think it is. Close, but no cigar?)
    Ok. A curve's degree can be elevated while maintaining it's curvature,
    therefore a conic can be represented using a degree 3 curve. I'm at a loss
    as to how to apply that using definitions available in any software though,
    e.g.. I can create a degree 3 (cubic) blend tangent to two curves but it's
    not necessarily going to be anything close to a conic curve. What I wanted
    to point out, though ("to avoid confusing", and not to infer that all are
    as easily confused as I am either), is that a conic cannot be defined by
    picking three fit points using the typical spline creation tool. I've seen
    it stated that you can, have wondered and looked, assume it's an easy
    enough misconception to pick up.
    That's true. I was going on a bad assumption (below). I was also
    considering curves with no internal knots, i.e. a degree 3 curve with four
    CVs. I guess because "smooth" was the foundation of the discussion, the
    introduction of internal knots complicates smooth unless the curve is
    plotting a user defined function, I assumed a blend between two curves or
    surfaces and simply got stuck on that track without explaining it. So
    maybe I'm talking oranges, hopefully not complete vapor, to your apples.
    So, going with those conditions can it be said (?): A degree 3 curve can
    be G2 to a single curve. The opposite end can usually be no more than G1
    to it's reference and one CV would have to be common to both constraints.

    My Bad (assumption): I was stuck on Rhino's methods; it always creates a
    degree 5 entity when G2 blending between two entities. It's also the only
    program I have that will tell me much about the geometry so I use it to
    examine what other programs create (via neutral translations and I can only
    assume a program that claims to use NURBS definitions exports an
    unadultered version of what it produces if it doesn't offer specific
    options, max degree, etc. or I see some indication to the contrary) and
    have seen higher degree entities come out of programs that don't allow the
    user any choice in definition. Anyway the erroneous assumption was; all
    programs will do a G2 blend by creating degree 5 entities, which is of
    course incorrect. (Pretty sure I've seen documentation that states Pro/E
    creates degree 3 max, now that I think about it.) So there's not a "need"
    for higher degree entities; simply the software developers' preference?
    If I'm mistaken, then possibly the answers lie herein, but comprehension
    must precede remembrance. No, I gottcha. I do (think I) vaguely
    understand the influence of the curve's or surface's second (G1), third
    (G2), fourth (G3), etc. CVs. I'm sure I don't have a clue how to express
    their relationships mathematically, create or constrain the curve using
    those expressions.
    They're probably off dealing with all the discussions on other forums. 8~)
     
    Jeff Howard, Jan 26, 2005
    #18
  19. neil

    neil Guest

    Jeff,
    you seem to have a good knowledge of splines, are you aware of any (simple
    that is) explanations of splines as they would apply to SW that I could
    access from the net?
    thanks
    neil
     
    neil, Jan 26, 2005
    #19
  20. neil

    Jeff Howard Guest

    explanations of splines as they would apply to
    Sorry, Neil, I don't. Everything I remember seeing is general mathematics,
    no help with the practical applications, creating "fair" surfaces, etc.
    What little I know about the mechanics is from dinking in Rhino and reading
    their explanations along with some help from their forum. That little bit
    of knowledge has helped some in understanding what's going on in other
    programs, but I know zip about SW. Perhaps Ed, Paul, Matt, etc. can chime
    in. There are also some SW users that frequent the Rhino group (Bryan
    Elwood's name comes to mind, but don't think I've seen him post lately?).
    Maybe you could hook up with one of them and get some coaching or they
    could suggest some informative articles.
     
    Jeff Howard, Jan 26, 2005
    #20
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.