MantisBT
Mantis Bug Tracker Workflow

View Revisions: Issue #27896 All Revisions ] Back to Issue ]
Summary 0027896: Prm-Prm intersection algo returns wrong result if it is called with start intersection point, which lies in the domain boundary
Revision 2016-10-12 09:30 by nbv
Description Test bugs modalg_5 bug25319_1(2).

    Draw[]> explode b1 f
    Draw[]> explode b2 f
    Draw[]> don b1_8 b2_17

Without any start point

    Draw[]> bopcurves b1_8 b2_17 -2d
# Tolerance Reached=2.4122298283916123e-006 ==> OK

With start point:

    Draw[]> bopcurves b1_8 b2_17 -2d -p +1.09444207768950010000 +29.00000000000000000000 +0.17740001678466785000 +2.79671571032639710000 -p +0.00000000000000000000 +26.87779254288926400000 +0.17767342824312710000 +2.80622040022304510000

# Tolerance Reached=2.2611960020325053e-007 ==> OK

However, small shifting the start point (by the distance < 1.0e-13):

    Draw[]> bopcurves b1_8 b2_17 -2d -p +1.09444207768949960000 +29.00000000000000000000 +0.17740001678466785000 +2.79671571032639750000 -p +0.00000000000000000000 +26.87779254288926400000 +0.17767342824312710000 +2.80622040022304510000

# Tolerance Reached=0.015634546636864411 ==> WRONG.

Additional information:

1. In both cases initial points are true intersection points (it has been checked with computation of distances).

2. In both (!) cases one initial point is ON UV-bounds of the intersected face. However, behavior of intersection algorithm is slight different.

3. If we extend UV-bounds of the face by 1.0e-7 (in order to be for initial point IN the domain (not ON) then intersection result will be OK.
Revision 2016-09-22 16:42 by nbv
Description Test bugs modalg_5 bug25319_1(2).

    Draw[]> explode b1 f
    Draw[]> explode b2 f
    Draw[]> don b1_8 b2_17

Without any start point

    Draw[]> bopcurves b1_8 b2_17 -2d
# Tolerance Reached=2.4122298283916123e-006 ==> OK

With start point:

    Draw[]> bopcurves b1_8 b2_17 -2d -p +1.09444207768950010000 +29.00000000000000000000 +0.17740001678466785000 +2.79671571032639710000 -p +0.00000000000000000000 +26.87779254288926400000 +0.17767342824312710000 +2.80622040022304510000

# Tolerance Reached=2.2611960020325053e-007 ==> OK

However, small shifting the start point (by the distance < 1.0e-13):

    Draw[]> bopcurves b1_8 b2_17 -2d -p +1.09444207768949960000 +29.00000000000000000000 +0.17740001678466785000 +2.79671571032639750000 -p +0.00000000000000000000 +26.87779254288926400000 +0.17767342824312710000 +2.80622040022304510000

# Tolerance Reached=0.015634546636864411 ==> WRONG.

Additional information:

1. In both cases initial points are true intersection points (it has been checked with computation of distances).

2. In both (!) cases one initial point is in UV-bounds of the intersected face. However, behavior of intersection algorithm is slight different.

3. If we extend UV-bounds of the face by 1.0e-7 (in order to be for initial point IN the domain (not ON) then intersection result will be OK.


Copyright © 2000 - 2019 MantisBT Team
Powered by Mantis Bugtracker