Hi,
These days I'm working on computing NURBS curve-curve intersections, and have a problem:
As one type of ON_X_EVENT is ccx_overlap, and we need to decide whether the intersection event is an overlap event or just an intersection point. Currently I use two Newton-Raphson iterations from two different starting points (two end-points of the sub-divided interval), and see whether they converge to the same point. If not, the sub-curve between them will be sampled and calculate the distance of the sampled points to the other curve, to see whether they overlap. But it's not a good solution because in some cases when they overlap but the two iterations also converge to the same point.
As defined by openNURBS, if t1 and t2 are parameters of this curve's intersection events and the distance from curve(t) to curveB is <= overlap_tolerance for every t1 <= t <= t2, then the event will be returned as an overlap event. That is, we need to find the t1 and t2 first. Newton iterations might only find one of them, which is not enough. Does any one have suggestions on how to solve this problem?
Cheers!
Wu |