Ticket #6019 (closed Bugs: fixed)

Opened 6 years ago

Last modified 5 years ago

Convex hull and Area, combined, sometimes give wrong result

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


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!


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

Change History

Changed 6 years ago by Crispin Cooper <cooperch@…>

comment:1 Changed 5 years ago by barendgehrels

  • Status changed from new to closed
  • Resolution set to worksforme

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 Changed 5 years ago by barendgehrels

  • Status changed from closed to reopened
  • Resolution worksforme deleted

comment:3 Changed 5 years ago by anonymous

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 Changed 5 years ago by Crispin

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 Changed 5 years ago by barendgehrels

  • Status changed from reopened to closed
  • Resolution set to fixed

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 Changed 5 years ago by barendgehrels

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

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


Add a comment

Modify Ticket

Change Properties
<Author field>
as closed
The resolution will be deleted. Next status will be 'reopened'

E-mail address and user name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.