# NURBS / line intersection

This topic is 2105 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

## Recommended Posts

I have circle described via NURBS. Now, I can calculate line intersection, because equation can be reduced and I got "classic" circle equation. However, when I change weights of my control points, I have no longer circle. I have tried to calculate intersection with line, but I am stucked in brain-development phase (meaning on paper).

Is it even possible ? Because in certain configuration, I can get 3 intersection points (but for circle, there will be max. 2 -> equation is of 2 degree). I limited my solution so that weights will create convex shape. In that case, there should be still 2 intersection tops.

And the same later on in 3D with plane / sphere (again, with weightened knots)

##### Share on other sites

You can do NURBS/line intersection, but it's not easy. Bezout's theorem states that the number of intersection points of 2 polynomials is equal to the product of their degrees, but you have to count intersection points at infinity, intersection points with a multiplicity greater than 1, and so on. For example, 2 lines (degree-1 polynomials) intersect at one point. Even if the lines are parallel, they intersect at infinity. So what you have is a NURBS of degree p intersecting a line with degree 1, so they intersect p times.

One way is to use implicitization and resultants to find common roots of the curves. This will be quick for NURBS of degree 3 or less, but for greater degrees you should use subdivision methods. A good link to study implicitization and resultants is http://cagd.cs.byu.edu/~557/text/ch17.pdf. You could also just get a polyline of the NURBS and do line-line intersection tests.

• 11
• 9
• 17
• 13
• 11