Grasshopper

algorithmic modeling for Rhino

Hi, I'm not a mathematician, therefore I'm not quite sure this is a bug, but:

in accordance with the online rhino help http://docs.mcneel.com/rhino/5/help/en-us/commands/gcon.htm, given two curves that have G2 continuity at one point, "Both the first and second derivatives of the equations are equal at that point."

Grasshopper shows two different 2nd derivatives for two G2 continuous curves, am I missing something?

Views: 2287

Attachments:

Replies to This Discussion

Looking into it now. I'm no expert on curve derivatives either, as far as I can tell I'm calling the correct methods in Rhino core for this though.

--

David Rutten

david@mcneel.com

This is true:

in accordance with the online rhino help http://docs.mcneel.com/rhino/5/help/en-us/commands/gcon.htm, given two curves that have G2 continuity at one point, "Both the first and second derivatives of the equations are equal at that point.

I think this might be a case of rounding issues in the calculation making it impossible for the Theory to match the "In Practice"

Hi Danny, I actually "feared" it could be something like that. Think I'm going to suggest analog computer support on Rhino's whishlist.

I doubt that's the case, the difference is massive.

I've been digging through the code but I can't find any obvious problems. I do know that technically the first derivative is not exactly the same as the tangency and the second derivative is not exactly the same as the curvature. These concepts are merely related, they are not identical.

I'll have to send this off to our Seattle math wizards, with a bit of luck they'll be able to explain this in a way I understand.

--

David Rutten

david@mcneel.com

Sorry I was thinking it was over an inflection point, but on reflection its clearly not.

Chuck Welsh has replied to this:

[...] If the first derivative of a curve does not have constant length all along the curve, then the second derivative is not going to be in the direction of the curvature vector.  The direction of the second derivative is dependent on the parameterization. The direction that you are expecting to see is actually the derivative of the unit tangent, called the normal vector, which is not dependent on the parameterization.  Look up Frenet-Serret formulas for more info.

I'm still trying to ascertain whether our wiki is faulty, cutting corners or whether there are more kinds of derivatives than just the one.

--

David Rutten

david@mcneel.com

It finally makes sense now. There are two kinds of derivative that you can compute. The geometric and the parametric. The geometric derivatives are better known as the tangent vector and the curvature/normal vector. The parametric derivatives are what the [Evaluate Curve] component outputs. The second kind pays attention to the parameterization of a curve, whereas the first kind only cares about the shape of the curve. This all comes perilously close to two blog posts I wrote a while back:

http://ieatbugsforbreakfast.wordpress.com/2013/09/27/curve-paramete...

http://ieatbugsforbreakfast.wordpress.com/2013/09/28/curve-paramete...

--

David Rutten

david@mcneel.com

Hi David, thank you for explaining.

RSS

About

Translate

Search

Photos

  • Add Photos
  • View All

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service