Subject: CGAL users discussion list
List archive
- From: Sebastien Loriot <>
- To:
- Subject: Re: [cgal-discuss] Is CGAL::intersection buggy?
- Date: Fri, 4 Feb 2022 14:29:05 +0100
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None ; spf=Pass ; spf=None
- Ironport-data: A9a23:0jMCHqLheoOUKgduFE+R+ZMlxSXFcZb7ZxGr2PjKsXjdYENS3j0Gy 2UbWW+OaPfcMTGgftgjYIy2804EscfRxtMwT1Qd+CA2RRqmi+KVXIXDdh+Y0wC6d5CYEho/t 63yTvGacajYm1eF/k/F3oDJ9CU6jefRLlbFILas1hpZHGeIcw98z0Iz8wIFqtQw24LhWVvR4 YmaT/D3YTdJ5RYkagr41IrY8HuDjNyq0N/PlgFWiVhj5TcyplFNZH4tDfnZw0jQHuG4KtWHq 9Prl9lVyI92EyAFUbtJmp6jGqEDryW70QKm0hK6UID66vROS7BbPqsTbJIhhUlrZzqhztFO9 fpQvqaJdw4SL6nHoLpACBllDHQrVUFG0OevzXmXtMWSywjZdiKpzag2Sk4xOoIc96B8BmQmG f4wcmhcKEDewbvskPTmEoGAhex7RCXvFJgbvWthyi2fCPIOTpXKQqGM7thdtNs1rpkfQq+OP pZGAdZpRCXcbQNpHAw2MsoRofiLqHXVaD12mWvA8MLb5ECKlFAruFT3C/LeddWOAMlUhU2Fv Xnu5HX8GhhcNdqFyDPD/GjEuwPUtSbyWYZXC7jhs/A32BucwWscDBBQXly+yRWktqKgc4NeF HE75yEUlJY7z12vReGjAka4nWHR63bwROFsO+E97QiMzI/d7ACYGnUIQ1Z9hDoO5J5eqdsCh g7hoj/5OdB8mObKFi/Fp994uRv3aHdFdzZTDcMRZVJdu4GLnW0lsv7Yoj9e/EOdi9T0HXTvx mnPonVmwboUisEP2uOw+lWvb9OQSnrhHlNdCub/BDrNAuZFiGiNOdfABb/zs60oEWphZgPd1 EXoYuDHhAz0MbmDlTaWXMIGF6yz6vCOPVX02AAzRMl6q270oSb4LOi8BQ2Swm85Y67onhe5M SfuVf95ufe/wVP2N/YsO9vpYyjU5fK4RI+5PhwrUja+SsEpKFXvENBGakmX0GTg+HXAYoluU ap3hf2EVC5AYYw+lGTeb75EidcDn3lirUuOG82T50n4idK2OS/NIZ9YYQDmRr1ovMu5TPD9q Yk32z2ikEUBDoUTo0D/reYuELz9BSNqWMmr+5ELLbPrz8gPMDhJNsI9CIgJI+RN95m5XM+Rl p1kckMHmlf5m1PdLgCGNiJqZL/1DMRwqHs6OWonOlPxgyovZoOm7aE+cZorfOl/pLYzk6IsF /RVKd+dBvlvSyjc/2tPYJT4qrtkfkv5iA+LOR2jfzViLYVrQBbE+4O/cwa2rHsOAyO7uNEQu bql0g+HE5MPSx4zXsnTYfOriVi2uCFFyu51WkLJJPhVeVntoNA6cXyv0qdvLphVexvZxzac2 wKHOjsipLHA890v7d3EpaGYtIP2QeZzG0xtGWOEv7u7MC/t+HX6nd1NXeOOSjDqVG3u/ZKka +gIner3N+cKnQoTvodxT+RrwKY564e9rrNW1F4/TnDCblDuFbY5Z3fbhY9AsapCwrIfsgyzA xrd9t5fMLSPGcXkDF9Be1Z/P7rbjakZymvI8PA4AETm/ysrrrCJZkNfYkuXgytHIbopbY4on bU7tMgN51DtgxYmKIzd3CVd9mDJMXlZFqt67tcVB4jkjgdtwVZHOMSOBijz6ZCJStNNLkh6f WPO1fSa3+xRlhjYbn4+NXnRxu4B154AjxZHkQ0ZLFOTl9uZ2/I60XW9K9jsoti5E/mG7w5yB oSvH0h8JKHL4DIxwcYeByajHAZOABDf8Uv0o7fMeKs1UGHwPlEh7kVkUQpOwKzd221Zdzlfu rqfzQ4JlB70Kdrp0HJatVFN8pTeoB8YyuEGsM+iFsWBWZI9ZFIJR0NoiXUg83PaPC/6uKELS SSGMgq9hW0X+BP8e5EGNrQ=
- Ironport-hdrordr: A9a23:ODHbbqGaaNUtMMndpLqEz8eALOsnbusQ8zAXPiBKOGBom62j5r uTdZEguSMc5wxwZJgfo6HkBED+ewKkyXcY2+cs1M6ZLW3bUQmTXftfBPrZrAEIcheWnoUx6U p5SdkCNDSXNykYsS+Q2njbLz9P+ri6GLnCv43jJ9kEd3AMV0k8hz0JcjpyKiVNNW97OaY=
- Ironport-phdr: A9a23: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
- Ironport-sdr: m0JPlZ/If3ZGiYhUp5pwNX0e4w6WbCYJ2CDJf/De23F+JWAGNJcdIKF8ZirHshWZO4ffmwSJoX CTBObFzOv/5XgMyg2/aCF47uTARRJYma9UzL1eG84ydZ2LJcHFezS2Jq0s+JRL7FBYKPh/NBSg TevpgZfgkbgROD56T+jm4S0jsWATld5XhjsFkX7LaSR8VLxUBRYmNpMtspsCgFqUv/6n/rZeVP 3PtD15n8IawvJEuBP3BZZuyYsRg50pEFa4LaN9jHI1RZ06buWJ5YEmKVwJswG5ZUdA7buDsBzd bHoMdEHmh6PKhhPNF3KIpcy7
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
- [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+.