#13638: fix adjacency of rays
--------------------------------+-------------------------------------------
       Reporter:  vbraun        |         Owner:  mhampton    
           Type:  defect        |        Status:  needs_review
       Priority:  major         |     Milestone:  sage-5.5    
      Component:  geometry      |    Resolution:              
       Keywords:                |   Work issues:              
Report Upstream:  N/A           |     Reviewers:              
        Authors:  Volker Braun  |     Merged in:              
   Dependencies:                |      Stopgaps:              
--------------------------------+-------------------------------------------
Changes (by vbraun):

  * status:  new => needs_review


Old description:

> The adjacency of rays in polyhedra isn't right. This impacts some corner
> cases in plotting 2-d non-compact polytopes.

New description:

 The adjacency of rays in polyhedra isn't right. This impacts some corner
 cases in plotting 2-d non-compact polytopes:
 {{{
 sage: P = Polyhedron(vertices=[(0, 1), (1, 0), (2, 0), (3, 0), (4, 1)],
 rays=[(0,1)]).plot()
 ---------------------------------------------------------------------------
 ValueError                                Traceback (most recent call
 last)

 /home/vbraun/opt/sage-5.4.rc1/devel/sage-main/<ipython console> in
 <module>()

 /home/vbraun/opt/sage-5.4.rc1/local/lib/python2.7/site-
 packages/sage/geometry/polyhedron/base.pyc in plot(self, **kwds)
     516             render = render_method[self.ambient_dim()]
     517             if render != None:
 --> 518                 return render(self,**kwds)
     519         raise NotImplementedError('Plotting of
 '+str(self.ambient_dim())+
     520                                   '-dimensional polyhedra not
 implemented')

 /home/vbraun/opt/sage-5.4.rc1/local/lib/python2.7/site-
 packages/sage/geometry/polyhedron/plot.pyc in render_2d(projection,
 **kwds)
      54     """
      55     if is_Polyhedron(projection):
 ---> 56         projection = Projection(projection)
      57     return \
      58         projection.render_points_2d(zorder=2, pointsize=10,
 **kwds) + \

 /home/vbraun/opt/sage-5.4.rc1/local/lib/python2.7/site-
 packages/sage/geometry/polyhedron/plot.pyc in __init__(self, polyhedron,
 proj)
     411
     412         if polyhedron.ambient_dim() == 2:
 --> 413             self._init_from_2d(polyhedron)
     414         elif polyhedron.ambient_dim() == 3:
     415             self._init_from_3d(polyhedron)

 /home/vbraun/opt/sage-5.4.rc1/local/lib/python2.7/site-
 packages/sage/geometry/polyhedron/plot.pyc in _init_from_2d(self,
 polyhedron)
     630         self._init_points(polyhedron)
     631         self._init_lines_arrows(polyhedron)
 --> 632         self._init_area_2d(polyhedron)
     633
     634

 /home/vbraun/opt/sage-5.4.rc1/local/lib/python2.7/site-
 packages/sage/geometry/polyhedron/plot.pyc in _init_area_2d(self,
 polyhedron)
     727         assert polyhedron.ambient_dim() == 2, "Requires polyhedron
 in 2d"
     728         vertices = [v for v in polyhedron.Vrep_generator()]
 --> 729         vertices = cyclic_sort_vertices_2d(vertices)
     730         coords = []
     731

 /home/vbraun/opt/sage-5.4.rc1/local/lib/python2.7/site-
 packages/sage/geometry/polyhedron/plot.pyc in
 cyclic_sort_vertices_2d(Vlist)
     188                 break;
     189         else:
 --> 190             raise ValueError
     191     return result
     192

 ValueError:
 }}}

 Attach [attachment:trac_13638_ray_adjacency_fix.patch]

--

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/13638#comment:1>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to