ASKSAGE: Sage Q&A Forum - Latest question feedhttp://ask.sagemath.org/questions/Q&A Forum for SageenCopyright Sage, 2010. Some rights reserved under creative commons license.Wed, 25 May 2016 22:45:37 -0500Getting convex hull of a set of points and plotting the polygonhttp://ask.sagemath.org/question/33548/getting-convex-hull-of-a-set-of-points-and-plotting-the-polygon/I'm using sagemath cloud.
I'm trying to get the convex hull of a finite set of points, then plotting the polygon. If I just plot the polygon with the vertices directly, I don't get the vertices in the right order to make up a convex polygon (plots edges joining the wrong points). Then I found out about cyclic_sort_vertices_2d which I thought would sort the vertices into the right order, but that's giving me errors. I don't understand the meaning of the errors. Appreciate any help.
here's the relevant code:
hull = Polyhedron(vertices=thePoints);
hull.vertices();
cyclic_sort_vertices_2d(hull.vertices());
And I have this import line at the top of my code for cyclic sort:
from sage.geometry.polyhedron.plot import cyclic_sort_vertices_2d;
Here's my output:
(A vertex at (9464.0, 10816.0), A vertex at (8736.0, 7735.0), A vertex at (7904.0, 8736.0), A vertex at (11088.0, 5607.0), A vertex at (15552.0, 6480.0), A vertex at (8160.0, 9248.0), A vertex at (8568.0, 9792.0), A vertex at (11076.0, 10140.0), A vertex at (12852.0, 5355.0))
And errors:
Error in lines 28-30
Traceback (most recent call last):
File "/projects/sage/sage-6.10/local/lib/python2.7/site-packages/smc_sagews/sage_server.py", line 905, in execute
exec compile(block+'\n', '', 'single') in namespace, locals
File "", line 1, in <module>
File "/projects/sage/sage-6.10/local/lib/python2.7/site-packages/sage/geometry/polyhedron/plot.py", line 245, in cyclic_sort_vertices_2d
adjacency_matrix = Vlist[0].polyhedron().vertex_adjacency_matrix()
File "sage/misc/cachefunc.pyx", line 2215, in sage.misc.cachefunc.CachedMethodCallerNoArgs.__call__ (/projects/sage/sage-6.10/src/build/cythonized/sage/misc/cachefunc.c:14346)
self.cache = f(self._instance)
File "/projects/sage/sage-6.10/local/lib/python2.7/site-packages/sage/geometry/polyhedron/base.py", line 1847, in vertex_adjacency_matrix
return self._vertex_adjacency_matrix()
File "/projects/sage/sage-6.10/local/lib/python2.7/site-packages/sage/geometry/polyhedron/base.py", line 312, in _vertex_adjacency_matrix
face_lattice = self.face_lattice()
File "sage/misc/cachefunc.pyx", line 2215, in sage.misc.cachefunc.CachedMethodCallerNoArgs.__call__ (/projects/sage/sage-6.10/src/build/cythonized/sage/misc/cachefunc.c:14346)
self.cache = f(self._instance)
File "/projects/sage/sage-6.10/local/lib/python2.7/site-packages/sage/geometry/polyhedron/base.py", line 3172, in face_lattice
face_constructor=face_constructor, required_atoms=atoms_vertices)
File "/projects/sage/sage-6.10/local/lib/python2.7/site-packages/sage/geometry/hasse_diagram.py", line 182, in Hasse_diagram_from_incidences
for coatom, atoms in enumerate(coatom_to_atoms)]
KeyError: (frozenset([]), frozenset([0]))ameetnsharmaWed, 25 May 2016 22:45:37 -0500http://ask.sagemath.org/question/33548/polygon plot does not scale wellhttp://ask.sagemath.org/question/28763/polygon-plot-does-not-scale-well/Hi,
I'm trying to plot several polygons in one plot (with plot1+plot2+...). Strangly, for very different side length, the plot becomes more of a line instead of a rectangle. I tried the following code on SMC and locally:
hp=0.019
qscale=hp
polygon2d([[0.5-0.5,hp/2-qscale*0.05],[0.5+0.5,hp/2-qscale*0.05],[0.5+0.5,hp/2+qscale*0.05],[0.5-0.5,hp/2+qscale*0.05]], fill=False, thickness=1, color='blue',ticks=[None,0.0001])
I'd like to upload a picture but you need 60 karma points for that and since my old account belonging to google identity is lost I hope you can recreate the problem. Thanks in advance.
Update:
I wrote a minimal example which shows that the problem appears when the side length are not of the same order of magnitude
for i in [0.1,1,10,100]:
show(polygon2d([[0,0],[0,i],[1,i],[1,0]], fill=false))kafusslThu, 06 Aug 2015 02:36:20 -0500http://ask.sagemath.org/question/28763/