#4815: list_plot3d is broken (segfaults, zero division errors)
----------------------+-----------------------------------------------------
 Reporter:  was       |       Owner:  was     
     Type:  defect    |      Status:  new     
 Priority:  major     |   Milestone:  sage-3.3
Component:  graphics  |    Keywords:          
----------------------+-----------------------------------------------------
 In sage-3.2.1 the following segfaults.  Fortunately, in sage-3.2.2.alpha2
 it gives only a traceback (as given below):
 {{{
 sage: sage: X = list_plot3d([(1,1,1), (1,2,3), (1,2,5), (1,1,1)])
 sage: sage: X.show(viewer='tachyon')
 ---------------------------------------------------------------------------
 ZeroDivisionError                         Traceback (most recent call
 last)

 /Users/was/build/sage-3.2.2.alpha2/<ipython console> in <module>()

 /Users/was/build/sage-3.2.2.alpha2/local/lib/python2.5/site-
 packages/sage/plot/plot3d/base.so in sage.plot.plot3d.base.Graphics3d.show
 (sage/plot/plot3d/base.c:8436)()

 /Users/was/build/sage-3.2.2.alpha2/local/lib/python2.5/site-
 packages/sage/plot/plot3d/base.so in
 sage.plot.plot3d.base.Graphics3d._prepare_for_tachyon
 (sage/plot/plot3d/base.c:5912)()

 /Users/was/build/sage-3.2.2.alpha2/local/lib/python2.5/site-
 packages/sage/plot/plot3d/base.so in
 sage.plot.plot3d.base.Graphics3d._box_for_aspect_ratio
 (sage/plot/plot3d/base.c:6124)()

 /Users/was/build/sage-3.2.2.alpha2/local/lib/python2.5/site-
 packages/sage/plot/plot3d/base.so in
 sage.plot.plot3d.base.Graphics3d._safe_bounding_box
 (sage/plot/plot3d/base.c:2743)()

 /Users/was/build/sage-3.2.2.alpha2/local/lib/python2.5/site-
 packages/sage/plot/plot3d/parametric_surface.so in
 sage.plot.plot3d.parametric_surface.ParametricSurface.bounding_box
 (sage/plot/plot3d/parametric_surface.c:2133)()

 /Users/was/build/sage-3.2.2.alpha2/local/lib/python2.5/site-
 packages/sage/plot/plot3d/parametric_surface.so in
 sage.plot.plot3d.parametric_surface.ParametricSurface.triangulate
 (sage/plot/plot3d/parametric_surface.c:2612)()

 /Users/was/build/sage-3.2.2.alpha2/local/lib/python2.5/site-
 packages/sage/plot/plot3d/parametric_surface.so in
 sage.plot.plot3d.parametric_surface.triangulate
 (sage/plot/plot3d/parametric_surface.c:2551)()

 /Users/was/build/sage-3.2.2.alpha2/local/lib/python2.5/site-
 packages/sage/plot/plot3d/parametric_surface.so in
 sage.plot.plot3d.parametric_surface.ParametricSurface.eval_grid
 (sage/plot/plot3d/parametric_surface.c:4108)()

 /Users/was/build/sage-3.2.2.alpha2/local/lib/python2.5/site-
 packages/sage/plot/plot3d/list_plot3d.pyc in g(x, y)
     210         from parametric_surface import ParametricSurface
     211         def g(x,y):
 --> 212             i=round( (x-xmin)/(xmax-xmin)*(num_points-1) )
     213             j=round( (y-ymin)/(ymax-ymin)*(num_points-1) )
     214             z=vals[int(j),int(i)]

 ZeroDivisionError: float division
 }}}

 list_plot3d is supposed to work on *any* input, so this is a bug.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/4815>
Sage <http://sagemath.org/>
Sage - Open Source Mathematical Software: Building the Car Instead of 
Reinventing the Wheel
--~--~---------~--~----~------------~-------~--~----~
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