Opened 11 years ago

Closed 11 years ago

Last modified 11 years ago

#6019 closed Bugs (fixed)

Convex hull and Area, combined, sometimes give wrong result

Reported by: Crispin Cooper <cooperch@…> Owned by: Barend Gehrels
Milestone: To Be Determined Component: geometry
Version: Boost 1.47.0 Severity: Problem
Keywords: convex hull area Cc:

Description

Attached is a program which calculates convex hull from a number of points. The three points actually on the hull are

(0,0) (0,105) (0,103)

making the hull a triangle with area 1407.5. However, the program (msvc compiler) returns 1406, with the points inserted in the order shown in the cpp file.

If all points except the three listed above are removed from the program, the answer returns to 1407.5.

Probably this is just me being stupid. In any case thank you very much for your help!

Attachments (1)

boost_geom_test.cpp (1.1 KB ) - added by Crispin Cooper <cooperch@…> 11 years ago.

Download all attachments as: .zip

Change History (7)

by Crispin Cooper <cooperch@…>, 11 years ago

Attachment: boost_geom_test.cpp added

comment:1 by Barend Gehrels, 11 years ago

Resolution: worksforme
Status: newclosed

I've the opinion the program is changed in between. It now gives 5406, which is correct or at least near the correct value (but it still might be that you expect 5407.5).

Can you make your comment and the program consistent?

comment:2 by Barend Gehrels, 11 years ago

Resolution: worksforme
Status: closedreopened

comment:3 by anonymous, 11 years ago

Sorry, "1407.5" and "1406" were typos which I managed to copy to the bug report - should have read 5407.5 and 5406 respectively.

The correct answer is 5407.5.

The answer the program gives is 5406.

The answer the program gives if all except the three points on the hull are deleted, is 5407.5.

comment:4 by Crispin, 11 years ago

I don't know whether it might work if run as a multi point instead, now that bug has been fixed. The list of points in the example is certainly an odd shape for a polygon, I don't know what assumptions the polygon model is built on?

comment:5 by Barend Gehrels, 11 years ago

Resolution: fixed
Status: reopenedclosed

OK, thanks for answering. There was indeed a problem if there were multiple left-most points, which was the case here. Fixed now. Thanks for your report.

comment:6 by Barend Gehrels, 11 years ago

To be complete, also in this test the next include should be added.

#include <boost/geometry/geometries/point_xy.hpp>

Note: See TracTickets for help on using tickets.