我有一套要点:
Data2D = {{-4.432561, 11.687700000000001},
{-3., 5.196152},
{-6.25,10.825320000000001},
{-5.3412805,11.256510000000002},
{-3.9550406666666666,9.523850666666668},
{-3.4775203333333335,7.360001333333334},
{-4.083333333333333, 7.072541333333334}};
当我调用PlanarGraphPlot [Data2D]时,元素(3,5,7)和(2,3,6)之间存在重叠。
这是图片 “http://i.stack.imgur.com/gvVBQ.png”
当我添加
{-5.166666666666666, 8.948930666666667}, {-4.560853666666667,9.236390666666667}
到Data2D,Mathematica没有给出任何结果!
答案 0 :(得分:0)
为了它的价值,我可以复制结果。运行PlanarGraphPlot []时,我也会收到以下错误:
CompiledFunction :: cflist:生成Nontensor对象;进行未编译的评估。
问题似乎出现在DelauneyTriangulation []函数中,因为在Data2D上运行时会出现相同的错误(以及部分/无输出)。显然,从我所知道的,它失败的原因是因为你的一堆点太接近共线了。我尝试了下面这个,它就像一个魅力:
PlanarGraphPlot[Data2D + Table[ {Random[],Random[]}, {Length[Data2D]}]]
当然,这不是你想要的,Mathematica函数应该在没有障碍的情况下做正确的事情。我会提交一份关于此的错误报告,但我不会屏住呼吸,很快就会修好。在此之前,实现自己的triangulation algorithm可能更容易。