Intersections?
All  1  2-4

Previous
Next
 From:  Michael Gibson
3735.2 In reply to 3735.1 
Hi Steve - curve intersection is a tolerance based algorithm, meaning it looks points between 2 curves that are within a specified tolerance value.

In shared tangent areas like you show there, the 2 curves are within a 0.001 tolerance of each other not just at one point but actually within a range, and those 2 points that you see there are at the ends of the range.

If you drop a line from those points from 1 curve to the other and then select it, you should see that its length is less than 0.001 units (which is the tolerance used here).

MoI v1 used a tolerance of half of that, which helped in this case but that tighter tolerance caused problems with missed intersections in other cases such as trying to create intersections between the results of 2 surface/surface intersections.

MoI v2 does have some special treatment of circles and lines to generate just a single intersection in cases like this, but your long segment is not a line, it's slightly curved.

I can probably do something to tune this up, by doing some extra work when an overlapping range was found to do an additional localized intersection search at a higher tolerance value trying to look for a single result, I've put that on my list of stuff to look at.

This problem is not unique to MoI, for example loading your file in Rhino v4 and drawing points with intersection osnap will make a similar result.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  steve (STEVE_HOME)
3735.3 In reply to 3735.2 
Hi Michael,

The reason I was looking at this was mainly as I have had problems after using the intersections for trimming. The (tolerance limit)points can be very close and not obvious unless zoomed into, so can cause incorrect trims.

After you mentioned it, I did look at Rhino, and do see the same problem with the snapping, but not with trimming. Rhino must not be using the same tolerance/algorithm for the trims as for snaps.

 

- Steve
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
 From:  Michael Gibson
3735.4 In reply to 3735.3 
Hi Steve,

> Rhino must not be using the same tolerance/algorithm
> for the trims as for snaps.

Yeah, there must be some difference between those in Rhino, I would guess that most likely it's a tolerance difference.

But that can lead to some kinds of confusing situations having curve intersections calculated to different tolerance values between snaps and trimming. Aside from different points being generated, there's also potential for something to be considered non-intersecting by trim but considered to be intersecting by the snaps.

In MoI I'd like to keep a consistent behavior between things that use curve intersections, but see if it can be tuned up to give a single point result for these kinds of cases.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged
 

Reply to All Reply to All

 

 
 
Show messages: All  1  2-4