intersection of two rings

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

intersection of two rings

Ollmann, Tobias
Hello,

First of all, thank you for developing this great library. I found it last week and it solved some of my problems at once :)

But now I have a problem when calculating the intersection points of two linear rings.
The rings share a common line which yields two intersection points while it should only give one (in my opinion)

The two rings are:
0,10 - 0,30 - 30,30 - 30,10 ( - 0,10)
10,10 - 10,20 - 40,20 - 40,0 - 20,0 - 20,10 ( - 10,10)

The found intersections are:
30,20
20,10
10,10

Is this a bug or expected behavior?
I would expect that the number of intersections of two closed rings is always even, as one ring has to 'enter' the other as often as it 'leaves' it.

Thank you in advance for any help!

Regards,
Tobias Ollmann
_______________________________________________
Geometry mailing list
[hidden email]
http://lists.boost.org/mailman/listinfo.cgi/geometry
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: intersection of two rings

Barend
Hi Tobias,


Op 6-4-2016 om 10:53 schreef Ollmann, Tobias:
> First of all, thank you for developing this great library. I found it last week and it solved some of my problems at once :)

Thanks, good to hear that!

>
> But now I have a problem when calculating the intersection points of two linear rings.
> The rings share a common line which yields two intersection points while it should only give one (in my opinion)
>
> The two rings are:
> 0,10 - 0,30 - 30,30 - 30,10 ( - 0,10)
> 10,10 - 10,20 - 40,20 - 40,0 - 20,0 - 20,10 ( - 10,10)
>
> The found intersections are:
> 30,20
> 20,10
> 10,10
>
> Is this a bug or expected behavior?
> I would expect that the number of intersections of two closed rings is always even, as one ring has to 'enter' the other as often as it 'leaves' it.

It is expected behaviour. A shared egde will result into two separate
intersection points. So the number is not always even. Also, when one
polygon touches another in one point, the number of points is not even
(one, of course).

Regards, Barend

_______________________________________________
Geometry mailing list
[hidden email]
http://lists.boost.org/mailman/listinfo.cgi/geometry
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: intersection of two rings

Ollmann, Tobias
Ok, thank you.
I'll try to find another solution.

Regards
Tobias

-----Urspr√ľngliche Nachricht-----
Von: Geometry [mailto:[hidden email]] Im Auftrag von Barend Gehrels
Gesendet: Sonntag, 10. April 2016 18:28
An: Boost.Geometry library mailing list
Betreff: Re: [geometry] intersection of two rings

Hi Tobias,


Op 6-4-2016 om 10:53 schreef Ollmann, Tobias:
> First of all, thank you for developing this great library. I found it
> last week and it solved some of my problems at once :)

Thanks, good to hear that!

>
> But now I have a problem when calculating the intersection points of two linear rings.
> The rings share a common line which yields two intersection points
> while it should only give one (in my opinion)
>
> The two rings are:
> 0,10 - 0,30 - 30,30 - 30,10 ( - 0,10)
> 10,10 - 10,20 - 40,20 - 40,0 - 20,0 - 20,10 ( - 10,10)
>
> The found intersections are:
> 30,20
> 20,10
> 10,10
>
> Is this a bug or expected behavior?
> I would expect that the number of intersections of two closed rings is always even, as one ring has to 'enter' the other as often as it 'leaves' it.

It is expected behaviour. A shared egde will result into two separate intersection points. So the number is not always even. Also, when one polygon touches another in one point, the number of points is not even (one, of course).

Regards, Barend

_______________________________________________
Geometry mailing list
[hidden email]
http://lists.boost.org/mailman/listinfo.cgi/geometry
_______________________________________________
Geometry mailing list
[hidden email]
http://lists.boost.org/mailman/listinfo.cgi/geometry
Loading...