Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"Curve discontinuity" node #5155

Merged
merged 7 commits into from
Oct 19, 2024
Merged

"Curve discontinuity" node #5155

merged 7 commits into from
Oct 19, 2024

Conversation

portnov
Copy link
Collaborator

@portnov portnov commented Oct 13, 2024

Discontinuity of 1st curve is visible as a break (crisp) on the curve. Here we check only for "Geometric" continuity, which means that we only check directions of curve tangents, but do not check tangent lengths.
Screenshot_20241013_134956

Here we check for "parametric" continuity instead of "geometric". Now we see two points of discontinuity. Point 1 is the same; at point 2, with curve's control polygon displayed we can see that control points are not symmetric around this point, in this case this means that curve tangent vector at the right of this point have much more length, than curve tangent to the left of this point.
Screenshot_20241013_135447

Since this curve is composed of several Bezier segments, in all points where these segments are "glued" together there are points of discontinuity of 2nd order. If you look at curvature comb near these points, you can see that it can be discontinuous ("broken"). I.e., at these points curve's curvature may change suddenly.
Screenshot_20241013_135745

This is a generic NURBS curve. It does not have discontinuity points of 1st or 2nd order. But it has discontinuity points of 3rd order; At these points the curve itself looks pretty smooth, but if you look closely at curvature comb you can see that, albeit continuous, curvature comb is not smooth at these points.
Screenshot_20241013_210553

Preflight checklist

Put an x letter in each brackets when you're done this item:

  • Code changes complete.
  • Code documentation complete.
  • Documentation for users complete (or not required, if user never sees these changes).
  • Manual testing done.
  • Unit-tests implemented.
  • Ready for merge.

@portnov portnov merged commit 0c81099 into master Oct 19, 2024
1 of 2 checks passed
@portnov portnov deleted the curve_discontinuity branch October 19, 2024 16:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant