Subject: CGAL users discussion list
List archive
- From: Bob Bill <>
- To: "Sebastien Loriot\" ( via cgal-discuss Mailing List)" <>
- Subject: Re: [cgal-discuss] Is CGAL::intersection buggy?
- Date: Fri, 4 Feb 2022 13:44:50 +0000 (UTC)
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None ; spf=Pass ; spf=None
- Ironport-data: A9a23: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
- Ironport-hdrordr: A9a23:cdZtSKNADKIFD8BcTvujsMiBIKoaSvp037BN7TEXdfU1SL39qy nAppgmPHPP5wr5HUtQ+uxoW5PrfZq/z/5ICOAqVN/IYOClghrLEGgF1+XfKlbbakjDH4BmtJ uIupISNPTrAV9mycD8iTPIdeod/A==
- Ironport-phdr: A9a23:Ss/SLxRI9RlY9OVciU4w1AoVgtpsosmWAWYlg6HPa5pwe6iut67vI FbYra00ygOTB8OHu7kY1qL/iOPJYSQ4+5GPsXQPItRndiQuroEopTEmG9OPEkbhLfTnPGQQF cVGU0J5rTngaRAGUMnxaEfPrXKs8DUcBgvwNRZvJuTyB4Xek9m72/q99pHNfQlEnjWwbLB9I Bi5rQjaq9Ubj5ZlJqst0BXCv2FGe/5RxWNmJFKTmwjz68Kt95N98Cpepuws+ddYXar1Y6o3Q 7pYDC87M28u/83kqQPDTQqU6XQCVGgdjwdFDBLE7BH+WZfxrzf6u+9g0ySUIcH6UbY5Uim54 qx1VBHnljsINz8h8GHWlMNwir5boAm8rBB72oLYfZ2ZOOZ7cq7bYNgUR3dOXtxJWiJPAo2yc YgBAOgPPehFoIbyu1wAoACkCgWwH+zg0SVFimP00KA8zu8vERvG3AslH98WrXnUq876P7oPX OC0yKnIySjIYvRN1jf87IjIdgsurPGDUL9xasfQyVMgFwPCjlWXs4DqIzSV1uEUvmWd8uFvW v6hhXQ9pAFtvjig2N0sio/Ri48R11zI6SV3zYI3KNC5SEB1btCpHIVTuiyGKod7TccvT39ot SskxLAItp+2cDQWxZkjxxPRZOKLf5aG7x/hVuucJypzinxieLK6nRmy8E6gx/XgWcm7yllKq jBJkt7WtnACzxDT8dSHReFh8Uei3jaPyR7c6vtKIUAwkqraJYQtzaI3lpoWqUjDHyn2mF/3j KCMbEkk9PKo5uL6abvlvp+RL415hwPkPqgwlMGyAv40PhUMUmWZ4+ix16Pv8EvkS7tQlPI2i LPWsJXCKMQbuKG5BwhV35446xa4CTem0cgXkHcbIF9FYR6LkZTlN0vSL/D/C/e/mFGskC1xy /DDJLLhA5HNImLCkLf7Y7px8U5dxxAzzdBY4JJYEK0OIPX2WkPptdzYCAE2MxCszuvlCthxz J0SVGyMD6ODLa/fs12F6vgsLuWSfIMVvSzyK/kh5/7gl385nlodcLGy0psWbHC4Gu9pLkWWb HftmdoAEX0Fvgo5TOztklGNTTlTZ3OqU6I6/T40EJimApvbRoCxnLyB2z+2EoBOamBcFl+MC Wvod5mDW/oUdC2SLdVukjgdWbe8So8hzg2htBLhy7p8NefU4S0ZtZf71Ndv/eHTlBcy9SZ1D 8uHyW2NQXt0zSs1QSQr1vV/vVBl0QXElrNphuRRU91V/fJAFAkgcoXNyvRzTNH0VAWGddiAT BOqQ86tHCoqHe832MIEQ1p4H4CikgzbxHjtRKQEkqSCQp0y6KPVmXbrYN1szm7Pk6gngV5hS cRGMSiqh7V06hPIVLPPiFiTq6u6afEcwDLV7zXEinGfuVlRFg92S6TMG34FIVDHqMzwoULEQ bjpArsuNk5NyNWJN7BROeHu2B99Sf3qI8jfbmT5v2CqBBGU8vnELJHufH8c2zmbDUwsnAUa/ HLAPg87TjmgqirVAzVqUF7ueEjx6vI2jXq6Sk4ywEmublZ9lvD9rhUajPjZR/II1a8fow8gr S91FRCzxYSFJcCHol9Le68US9I55B8T32PdswYgYsKIPqligVlYeANy6RC9ny5rA5lNxJB55 EghyxB/fOfBiAspn1Kw2JnxPuaSMWzu5FW0bLaQ3FjC0dGQ86NJ6fIiqlylshv6XlE6/SBB1 N9Ym2CZ+o2MFBAbBJjwVkI9qkQkj6DTYi46oYjT0C4kKrG65wfLwMlhH+450lCldtZbPrmDE Vr4EskeDZXydsQ7kliuaVQPO+UBvLUsMZaAcP2LkLWuIP4mnD+iijFf55th10uX6ydmYvXP2 ZcOmKnFm1HfETz7ikykqIbykIFAIzAIRCyuwCjjA8haYagakZ8jL2CoLoX3w9x/g8WoQHtE7 Bu4AEtA3sa1eB2UZli73AtK1E1Rr2b10S2/hyd5lT0ktM/9lGTH3vjieRwbO2VKWHgqjFHiJ pKxhswbW07gZhYglR+s70L3j6ZBo6E3I27WSEZONy/4SgMqGqGxsr6IPpIRwIIhsSJQFu+7Z BHSS7LwpQcbzzK2B3FXl3gwczCnvIm8ngQv1z3bdi0j6iOGJocgn0S6hpSUX/Na0zsYSTMtj DDWAgP5JNy15ZCPkI+FtOmiVmWnX5kVcC/xzIrGujHogA8iSRC5gf23ncXqVAYg1iqundNrU SHC8UqiSpji16O9d+lgewM7YT20o9o/AYx4noYq0dsa2HwejMjJo1IWmGf0NpNQ3qe0PzIdA DUMxdDS+g3s3kZue2mIy4zOXXKY2sJ9ZtO+bwv6wwoF5ttRQOeR5b1Axm5up0ag6BnWeb57l ysczv0n7DgbhfsIsUwj1HfVDrcXFEhedSvi8nbAp9q/qKFdOTrxWam51E1529umCfmOrxpdV 3DwZpo5VXAvqJ8kYBSVjyK1utusccKYdd8JsxyIjxrM6oodYIk8kPYHn2svOG7wu2Ek1/9ui BVv2Z+gu43UY25p/a+/HltZLmiqOIVJoWGr1PkB2JbMjOXNVt17Fz4GXYXlV6etGTMW7rH8M hqWVSY7sjGdEKbeGgmW7AFnqWjOGtalLSLyRjFRwNN8SR2aPEEajhoTWWBwlJ89Egr3mJLJY U554TdX7Vn94EgpqKogJ1zkX2HTqR39ID01TJyVcUYIxhBL50DSd8eZ66ggVzEd9ZqnoguXL 2WdbAkdFmAFVHuPAFX7N6Wv793NoI36TqKuauHDarKUpalCRu+FkNixh5B+8W/GZY2fe2NvB Poh1g9fUGBlTo7Hzi4XRXVfjz7XPd+SpBC7vCZwq6XduLzzRBi99IKPDLwUN9hzs0e/haPJX wKJrAB+LzsQlpYFxHuTjaMawEZXkCZ2MT+kDbUHsyfJCqPWgK5eSRABOWt1M4NT4qQw0xMoW 4aTg87p1rN+kv8+CktUHV3nlMazYMUWIma7fFrZDUePPb6CKHXF2cbyKa+7TLRRiq1TuXjS8 X6DFFT/Oz2YizTzfwuoN+BH13nGeUYG/oq6dA1oEy7mRdPiLByhaplmhD0xxvs/gXaLUAxUe TlwfkVRr6GBuCNVhvIsU2dF73djMayFg3PGsK+CccZQ6KQ0RHQuxIc4qDwgxrBY7T9JXqlwk SrW9Zt1pk2+1/KI0nxhWQZPrTBCgMSKu19jMOPX7MolOz6M8RQT4GGXExlPqcFiD4ilsaFUz tKSyPzbOT5C9NWS9swZTZuxSorPID86PBzlFSSBRhMCViKuPHrDilZ1i/aU93bO9sV/8MCqk 50IUbpBElk8F/dcC14/Ws0LIJBwGDgjlPTI6axArWr7px7XSsJAu5nBXf/HGvTjJgGSirxcb gcJy7f1RWz2Hpzy20tlLFJ9mdaSc6IxdctKpCxqNVdp5R8VtnN5SHY2wQTgYwKppn4JT7ill x4xjU11ZuF/rF8EDH8mL1rNo207l0xjwL3Y
- Ironport-sdr: lKJTHpUtdWxRNQpKoJzJT0fK1OStKa3ND8peEb5NmSIm9HDR2bqWDu9767nGiRCbcth0dhK8RB t43/9u2b9oL9Xz/Ris/T2Vxy8+/FpR5oqqqjIFT2Ywl6G4IHB9h46rJF6JvZ1JI+X5UQNSKQQz 4fyaKZzf1xI0OJrnlN7+qb3x9jvchmZR5wiA4WmCz1k4F9BkFqRuFP1vIlUpkBktR14bBD6Xer i0cWzpiH3ZIUQsSNTzFj/Bb6tJAqE0tpnHI73Dl0FVRz+jEBNKf/0h6chn8R5KhcF0KKxZK4kC +nbLrAICKx9s09rPGFITxUNj
Dear Sebastien,
thanks for the quick reply. I changed the code as you asked. However the result is still the same. Does it work properly on your machine?
Best,
Bob
Il venerdì 4 febbraio 2022, 14:29:17 CET, Sebastien Loriot" ( via cgal-discuss Mailing List) <> ha scritto:
Replace
typedef CGAL::Simple_cartesian<double> K;
by
#include <CGAL/Exact_predicates_exact_constructions_kernel.h>
typedef CGAL::Exact_predicates_exact_constructions_kernel K;
More details about why here:
https://www.cgal.org/FAQ.html#inexact_NT
Best,
Sebastien.
On 2/4/22 2:26 PM, Bob Bill ( via cgal-discuss Mailing
List) wrote:
> I'm trying to find the area of the intersection between a square and
> another polygon. My code so far is the following (adapted from here
> <https://stackoverflow.com/questions/10502672/compute-intersection-area-of-two-polygons-with-cgal>,
> I just changed the points):
>
> #include<CGAL/Boolean_set_operations_2.h>
> #include<CGAL/Polygon_2.h>
> #include<CGAL/Polygon_2_algorithms.h>
> #include<CGAL/Polygon_with_holes_2.h>
> #include<CGAL/Simple_cartesian.h>
> #include<iostream>
>
> typedef CGAL::Simple_cartesian<double> K;
> typedef K::Point_2 Point;
> typedef CGAL::Polygon_2<K> Polygon_2;
> typedef CGAL::Polygon_with_holes_2<K> Polygon_with_holes_2;
>
> int main() {
> const std::vector<Point> pts{{-1, -1}, {1, -1}, {1, 1}, {-1, 1}};
> const std::vector<Point> pts2{{0, 1}, {0, 2}, {2, 1}, {1, 0}};
>
> Polygon_2 poly1(pts.begin(), pts.end());
> Polygon_2 poly2(pts2.begin(), pts2.end());
> std::list<Polygon_with_holes_2> polyI;
>
> CGAL::intersection(poly1, poly2, std::back_inserter(polyI));
>
> double totalArea = 0;
> typedef std::list<Polygon_with_holes_2>::iterator LIT;
> for (LIT lit = polyI.begin(); lit != polyI.end(); lit++) {
> std::cout << *lit << '\n';
> totalArea += lit->outer_boundary().area();
> }
> std::cout << "TotalArea::" << totalArea;
> }
>
> It compiles just fine, but then when I run it, I got the following output:
> *3 0 1 1 1 0 1 0 *
> *TotalArea::0*
>
> meaning that two points are collinear and hence the area is 0. What is
> my mistake here? I'm honestly a bit puzzled by the result and I don't
> know how I am supposed to fix this.
>
>
> Best,
> Bob
>
>
>
>
>
>
> Compute intersection area of two polygons with cgal
>
> Given the vertices of two convex polygons, what is the simplest way of
> computing the area of their intersection ...
>
> <https://stackoverflow.com/questions/10502672/compute-intersection-area-of-two-polygons-with-cgal>
>
>
>
> --
> You are currently subscribed to cgal-discuss.
> To unsubscribe or access the archives, go to
> https://sympa.inria.fr/sympa/info/cgal-discuss
>
--
You are currently subscribed to cgal-discuss.
To unsubscribe or access the archives, go to
https://sympa.inria.fr/sympa/info/cgal-discuss
typedef CGAL::Simple_cartesian<double> K;
by
#include <CGAL/Exact_predicates_exact_constructions_kernel.h>
typedef CGAL::Exact_predicates_exact_constructions_kernel K;
More details about why here:
https://www.cgal.org/FAQ.html#inexact_NT
Best,
Sebastien.
On 2/4/22 2:26 PM, Bob Bill ( via cgal-discuss Mailing
List) wrote:
> I'm trying to find the area of the intersection between a square and
> another polygon. My code so far is the following (adapted from here
> <https://stackoverflow.com/questions/10502672/compute-intersection-area-of-two-polygons-with-cgal>,
> I just changed the points):
>
> #include<CGAL/Boolean_set_operations_2.h>
> #include<CGAL/Polygon_2.h>
> #include<CGAL/Polygon_2_algorithms.h>
> #include<CGAL/Polygon_with_holes_2.h>
> #include<CGAL/Simple_cartesian.h>
> #include<iostream>
>
> typedef CGAL::Simple_cartesian<double> K;
> typedef K::Point_2 Point;
> typedef CGAL::Polygon_2<K> Polygon_2;
> typedef CGAL::Polygon_with_holes_2<K> Polygon_with_holes_2;
>
> int main() {
> const std::vector<Point> pts{{-1, -1}, {1, -1}, {1, 1}, {-1, 1}};
> const std::vector<Point> pts2{{0, 1}, {0, 2}, {2, 1}, {1, 0}};
>
> Polygon_2 poly1(pts.begin(), pts.end());
> Polygon_2 poly2(pts2.begin(), pts2.end());
> std::list<Polygon_with_holes_2> polyI;
>
> CGAL::intersection(poly1, poly2, std::back_inserter(polyI));
>
> double totalArea = 0;
> typedef std::list<Polygon_with_holes_2>::iterator LIT;
> for (LIT lit = polyI.begin(); lit != polyI.end(); lit++) {
> std::cout << *lit << '\n';
> totalArea += lit->outer_boundary().area();
> }
> std::cout << "TotalArea::" << totalArea;
> }
>
> It compiles just fine, but then when I run it, I got the following output:
> *3 0 1 1 1 0 1 0 *
> *TotalArea::0*
>
> meaning that two points are collinear and hence the area is 0. What is
> my mistake here? I'm honestly a bit puzzled by the result and I don't
> know how I am supposed to fix this.
>
>
> Best,
> Bob
>
>
>
>
>
>
> Compute intersection area of two polygons with cgal
>
> Given the vertices of two convex polygons, what is the simplest way of
> computing the area of their intersection ...
>
> <https://stackoverflow.com/questions/10502672/compute-intersection-area-of-two-polygons-with-cgal>
>
>
>
> --
> You are currently subscribed to cgal-discuss.
> To unsubscribe or access the archives, go to
> https://sympa.inria.fr/sympa/info/cgal-discuss
>
--
You are currently subscribed to cgal-discuss.
To unsubscribe or access the archives, go to
https://sympa.inria.fr/sympa/info/cgal-discuss
- [cgal-discuss] Is CGAL::intersection buggy?, Bob Bill, 02/04/2022
- Re: [cgal-discuss] Is CGAL::intersection buggy?, Sebastien Loriot, 02/04/2022
- Re: [cgal-discuss] Is CGAL::intersection buggy?, Bob Bill, 02/04/2022
- Re: [cgal-discuss] Is CGAL::intersection buggy?, Christopher Mitchell, 02/04/2022
- Re: [cgal-discuss] Is CGAL::intersection buggy?, Sebastien Loriot, 02/04/2022
- Re: [cgal-discuss] Is CGAL::intersection buggy?, Bob Bill, 02/04/2022
- Re: [cgal-discuss] Is CGAL::intersection buggy?, Sebastien Loriot, 02/04/2022
- Re: [cgal-discuss] Is CGAL::intersection buggy?, Christopher Mitchell, 02/04/2022
- Re: [cgal-discuss] Is CGAL::intersection buggy?, Bob Bill, 02/04/2022
- Re: [cgal-discuss] Is CGAL::intersection buggy?, Sebastien Loriot, 02/04/2022
Archive powered by MHonArc 2.6.19+.