Boost C++ Libraries: Ticket #12139: Voronoi diagram contains NaN coordinates https://svn.boost.org/trac10/ticket/12139 <p> After computing Voronoi diagram for a large shape consisting of only segments (no points), resulting diagram contains some NaN coordinates. Segments are non-intersecting, as far as could've checked. </p> <p> I'll try to simplify the shape and attach it here, so far I'm just showing the stacktrace of the division by zero causing a NaN: boost::polygon::detail::robust_fpt&lt;double&gt;::operator/(const boost::polygon::detail::robust_fpt&lt;double&gt; &amp; that) Line 205 C++ </p> <blockquote> <p> boost::polygon::detail::voronoi_predicates&lt;boost::polygon::detail::voronoi_ctype_traits&lt;int&gt; &gt;::lazy_circle_formation_functor&lt;boost::polygon::detail::site_event&lt;int&gt;,boost::polygon::detail::circle_event&lt;double&gt; &gt;::pps(const boost::polygon::detail::site_event&lt;int&gt; &amp; site1, const boost::polygon::detail::site_event&lt;int&gt; &amp; site2, const boost::polygon::detail::site_event&lt;int&gt; &amp; site3, int segment_index, boost::polygon::detail::circle_event&lt;double&gt; &amp; c_event) Line 1095 C++ boost::polygon::detail::voronoi_predicates&lt;boost::polygon::detail::voronoi_ctype_traits&lt;int&gt; &gt;::circle_formation_predicate&lt;boost::polygon::detail::site_event&lt;int&gt;,boost::polygon::detail::circle_event&lt;double&gt;,boost::polygon::detail::voronoi_predicates&lt;boost::polygon::detail::voronoi_ctype_traits&lt;int&gt; &gt;::circle_existence_predicate&lt;boost::polygon::detail::site_event&lt;int&gt; &gt;,boost::polygon::detail::voronoi_predicates&lt;boost::polygon::detail::voronoi_ctype_traits&lt;int&gt; &gt;::lazy_circle_formation_functor&lt;boost::polygon::detail::site_event&lt;int&gt;,boost::polygon::detail::circle_event&lt;double&gt; &gt; &gt;::operator()(const boost::polygon::detail::site_event&lt;int&gt; &amp; site1, const boost::polygon::detail::site_event&lt;int&gt; &amp; site2, const boost::polygon::detail::site_event&lt;int&gt; &amp; site3, boost::polygon::detail::circle_event&lt;double&gt; &amp; circle) Line 1467 C++ boost::polygon::voronoi_builder&lt;int,boost::polygon::detail::voronoi_ctype_traits&lt;int&gt;,boost::polygon::detail::voronoi_predicates&lt;boost::polygon::detail::voronoi_ctype_traits&lt;int&gt; &gt; &gt;::activate_circle_event(const boost::polygon::detail::site_event&lt;int&gt; &amp; site1, const boost::polygon::detail::site_event&lt;int&gt; &amp; site2, const boost::polygon::detail::site_event&lt;int&gt; &amp; site3, std::_Tree_iterator&lt;std::_Tree_val&lt;std::_Tree_simple_types&lt;std::pair&lt;boost::polygon::detail::beach_line_node_key&lt;boost::polygon::detail::site_event&lt;int&gt; &gt; const ,boost::polygon::detail::beach_line_node_data&lt;void,boost::polygon::detail::circle_event&lt;double&gt; &gt; &gt; &gt; &gt; &gt; bisector_node) Line 482 C++ boost::polygon::voronoi_builder&lt;int,boost::polygon::detail::voronoi_ctype_traits&lt;int&gt;,boost::polygon::detail::voronoi_predicates&lt;boost::polygon::detail::voronoi_ctype_traits&lt;int&gt; &gt; &gt;::process_circle_event&lt;boost::polygon::voronoi_diagram&lt;double,boost::polygon::voronoi_diagram_traits&lt;double&gt; &gt; &gt;(boost::polygon::voronoi_diagram&lt;double,boost::polygon::voronoi_diagram_traits&lt;double&gt; &gt; * output) Line 424 C++ </p> <blockquote class="citation"> <blockquote> <p> boost::polygon::voronoi_builder&lt;int,boost::polygon::detail::voronoi_ctype_traits&lt;int&gt;,boost::polygon::detail::voronoi_predicates&lt;boost::polygon::detail::voronoi_ctype_traits&lt;int&gt; &gt; &gt;::construct&lt;boost::polygon::voronoi_diagram&lt;double,boost::polygon::voronoi_diagram_traits&lt;double&gt; &gt; &gt;(boost::polygon::voronoi_diagram&lt;double,boost::polygon::voronoi_diagram_traits&lt;double&gt; &gt; * output) Line 122 C++ </p> </blockquote> </blockquote> </blockquote> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/12139 Trac 1.4.3 Piotr Wieczorek <pwiecz@…> Tue, 19 Apr 2016 13:56:24 GMT attachment set https://svn.boost.org/trac10/ticket/12139 https://svn.boost.org/trac10/ticket/12139 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">builder.cpp</span> </li> </ul> <p> Crashing source </p> Ticket Piotr Wieczorek <pwiecz@…> Tue, 19 Apr 2016 13:58:21 GMT <link>https://svn.boost.org/trac10/ticket/12139#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/12139#comment:1</guid> <description> <p> As the following stacktrace may be pointing to a computation for the infinite edge, or something similar, I'm attaching a file where I'm checking that a finite edge contains a NaN coordinate. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>awulkiew</dc:creator> <pubDate>Tue, 19 Apr 2016 15:03:18 GMT</pubDate> <title>owner, component changed https://svn.boost.org/trac10/ticket/12139#comment:2 https://svn.boost.org/trac10/ticket/12139#comment:2 <ul> <li><strong>owner</strong> changed from <span class="trac-author">Barend Gehrels</span> to <span class="trac-author">Lucanus Simonson</span> </li> <li><strong>component</strong> <span class="trac-field-old">geometry</span> → <span class="trac-field-new">polygon</span> </li> </ul> <p> It's Boost.Polygon, not Boost.Geometry. </p> Ticket