It seems to be how the algorithm works, but do not know for sure as I have not seen the code.
(Somewhat esoteric explanation/speculation follows) It appears to me that for a degree 3 curve ExendCrv using the Natural option or Smooth option essentially does a linear extrapolation of the second derivative of x,y,z with respect to the parameter (note this is not the curvature), and then integrates the result twice for the final curve.
One question, besides this McNeel Forum, what other places do Rhino users go for help if they bump into such technical issues (for instance, YouTrack) !
The extension works pretty well after rebuilding. Thx Dale!
But is there any chance to detect such weird extension before I actually extend this curve, in program way?
Or to say, is there any chance/ hints to know a bit more of the technical principles of the Extension function, so that I could have a better control of it in the application!
The curve extension continues the curve with a piece that does what the curve is doing at the very end. If you look at the curvature graph in detail, you can see the curvature starts to increase right at the end. That’s what the extension will keep on doing too until the curve loops itself.