0
|
4529 Views
|
6 Replies
|
0 Total Likes
View groups...
Share
GROUPS:

# Problem with PlanarGraphPlot And ConvexHull

Posted 11 years ago
 I'm getting a lot of strange errors when using PlanarGraphPlot with a simple list of 11 points << ComputationalGeometry; x = {{184978.59580704456, 77909.66948289984}, {184978.27815712072,      77909.76595227784}, {184978.27082673783,      77909.74177736834}, {184977.5543690799,      77909.95958192856}, {184977.65873976916,      77910.2913545858}, {184977.87393886593,      77910.32174601014}, {184978.3127146399,      77911.75682671613}, {184979.13720817852,      77911.37094455786}, {184979.40459261995,     77911.34308556134}, {184979.6157774594,     77912.04232488069}, {184980.40222282038, 77911.69604330455}};PlanarGraphPlot[x]Errors I get are Mod::indet: Indeterminate expression Mod[-1,0] encountered. >>  Part::partw: Part 1 of {} does not exist. >>  Part::pspec: Part specification Indeterminate is neither a machine-sized integer nor a list of machine-sized integers. >>  Part::pspec: Part specification {{4,2},{1,4,6},{6},{7,2,1},{6,6},{2,5,6,3,5},{11,10,9,4},{},{7,10},{9,7,11},{10,7}}[[8,1]] is neither a machine-sized integer nor a list of machine-sized integers. >>  Part::pspec: Part specification {{4,2},{1,4,6},{6},{7,2,1},{6,6},{2,5,6,3,5},{11,10,9,4},{},{7,10},{9,7,11},{10,7}}[[8,1]] is neither a machine-sized integer nor a list of machine-sized integers. >>General::stop: Further output of Part::pspec will be suppressed during this calculation. >>Part::partw: Part 1 of {} does not exist. >>Set::shape: Lists {ComputationalGeometryPrivatemerge$30945[[ComputationalGeometryPrivatel0$30945]],ComputationalGeometryPrivatemerge$30945[[ComputationalGeometryPrivater0$30945]]} and ComputationalGeometryPrivateinsert[{{4,2},{1,4,6},{6},{7,2,1},{6,6},{2,5,6,3,5},{11,10,9,4},{},{7,10},{9,7,11},{10,7}}[[{6,{{4,2},{1,4,6},{6},{7,2,1},{6,6},{2,5,6,3,5},{11,10,9,4},{},{7,10},{9,7,11},{10,7}}[[8,1]]}]],6,{{4,2},{1,4,6},{6},{7,2,1},{6,6},{2,<<3>>,5},<<1>>,{},{7,10},{9,7,11},{10,7}}[[<<1>>]],2,3] are not the same shape. >>Mod::indet: Indeterminate expression Mod[-1,0] encountered. >>Part::partw: Part 1 of {} does not exist. >>General::stop: Further output of Part::partw will be suppressed during this calculation. >>Set::shape: Lists {ComputationalGeometryPrivatemerge$33935[[ComputationalGeometryPrivatel0$33935]],ComputationalGeometryPrivatemerge$33935[[ComputationalGeometryPrivater0$33935]]} and ComputationalGeometryPrivateinsert[{{4,2},{1,4,6},{6},{7,2,1},{6,6},{2,5,6,3,5},{11,10,9,4},{},{7,10},{9,7,11},{10,7}}[[{6,{{4,2},{1,4,6},{6},{7,2,1},{6,6},{2,5,6,3,5},{11,10,9,4},{},{7,10},{9,7,11},{10,7}}[[8,1]]}]],6,{{4,2},{1,4,6},{6},{7,2,1},{6,6},{2,<<3>>,5},<<1>>,{},{7,10},{9,7,11},{10,7}}[[<<1>>]],2,3] are not the same shape. >>Mod::indet: Indeterminate expression Mod[-1,0] encountered. >>General::stop: Further output of Mod::indet will be suppressed during this calculation. >>Set::shape: Lists {ComputationalGeometryPrivatemerge$35305[[ComputationalGeometryPrivatel0$35305]],ComputationalGeometryPrivatemerge$35305[[ComputationalGeometryPrivater0$35305]]} and ComputationalGeometryPrivateinsert[{{4,2},{1,4,6},{6},{7,2,1},{6,6},{2,5,6,3,5},{11,10,9,4},{},{7,10},{9,7,11},{10,7}}[[{6,{{4,2},{1,4,6},{6},{7,2,1},{6,6},{2,5,6,3,5},{11,10,9,4},{},{7,10},{9,7,11},{10,7}}[[8,1]]}]],6,{{4,2},{1,4,6},{6},{7,2,1},{6,6},{2,<<3>>,5},<<1>>,{},{7,10},{9,7,11},{10,7}}[[<<1>>]],2,3] are not the same shape. >>General::stop: Further output of Set::shape will be suppressed during this calculation. >>When I drop the last point I get the expected plotPlanarGraphPlot@Drop[x, -1]I've attached a file with the code.  My Mathematica version is 9.0.1 on Mac OS XThanks Attachments:
6 Replies
Sort By:
Posted 11 years ago
 It was due to floating point precision.  See discussion here
Posted 11 years ago
 The set y seems to have a similiar problem you might investigate further, again Rationalize[] works
Posted 11 years ago
 Also this set of points fails to give proper ConvexHull.  It fails silently without errors or warnings.  Using Mma 9.0.1 64-bit on Mac OSX y = {{1.8497859580704457, 0.7790966948289985}, {1.8497827815712071,     0.7790976595227784}, {1.8497827082673783,     0.7790974177736835}, {1.849775543690799,     0.7790995958192857}, {1.8497765873976917,     0.779102913545858}, {1.8497787393886593,     0.7791032174601015}, {1.849783127146399,     0.7791175682671613}, {1.8497913720817853,     0.7791137094455786}, {1.8497940459261994,     0.7791134308556135}, {1.849796157774594,    0.7791204232488069}, {1.849804022228204,    0.7791169604330455}, {1.849803552734635,    0.7791159289575218}, {1.8498057134522492,    0.7791151852825192}, {1.8498006729413692,    0.7790991813917657}, {1.8498002121744468,    0.7790984699581178}, {1.8497995890919037,    0.7790977401058187}, {1.8497986151981813,    0.7790973602143807}, {1.8497975924352397,    0.7790973993547065}, {1.8497955957785752,    0.77909842160827}, {1.8497951821355425,    0.7790997823117062}, {1.8497944840038416,    0.779101624213374}, {1.8497934996381435,    0.7791037516125543}, {1.8497920021456453,    0.779106194441444}, {1.849792775326504,    0.7791094914607818}, {1.8497897908134828,    0.7791098506337076`}}Graphics@Point@y[[ ConvexHull[y] ]]Thanks for trying on windows Udo.  Sorting doesn't help on Mac OS X.
Posted 11 years ago
 Sorting doesn't help on Mac OS X.To clarify, please: Sort[] under Windows does help under the following circumstances onlyload the ComputationalGeometry packageread in data set xcomment any data point from the set out and save the notebookrun PlanarGraphPlot with that reduced set xreactivate the data point, thus restoring the set x to its original contentrun PlanarGraphPlot[Sort], it worksIf one loads ComputationalGeometry package, reads in the set x and runs directly PlanarGraphPlot[Sort] under Windows, it fails too, like under Mac. I've searched for hidden content in the notebook, but did not find some.
Posted 11 years ago
 To clarify even more: there is a problem with pseudo collinearity within the set x, pointed out byPlanarGraphPlot[Normalize/@x]DelaunayTriangulation::collin: Points {{0.921589,0.388168},{0.921589,0.388167},{0.92159,0.388165},<<5>>,{0.921592,0.388159},{0.921592,0.388159},{0.921593,0.388158}} are collinear. >>Knowing that one has to go to the last resortPlanarGraphPlot[MapIndexed[Rationalize[#, 0] &, x, {2}]]and that works without any special fiddling by the user.
Posted 11 years ago
 Me too, the error disappears after commenting any point out, not just the last one. This works (Windows 7 64 Bit Mma 9.0.1) with all pointsPlanarGraphPlot[Sort[x]]
Community posts can be styled and formatted using the Markdown syntax.