Mathematica delaunay重叠

时间:2013-03-09 08:09:05

标签: wolfram-mathematica computational-geometry

我有一套要点:

    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没有给出任何结果!

1 个答案:

答案 0 :(得分:0)

为了它的价值,我可以复制结果。运行PlanarGraphPlot []时,我也会收到以下错误:

  

CompiledFunction :: cflist:生成Nontensor对象;进行未编译的评估。

问题似乎出现在DelauneyTriangulation []函数中,因为在Data2D上运行时会出现相同的错误(以及部分/无输出)。显然,从我所知道的,它失败的原因是因为你的一堆点太接近共线了。我尝试了下面这个,它就像一个魅力:

PlanarGraphPlot[Data2D + Table[ {Random[],Random[]}, {Length[Data2D]}]]

当然,这不是你想要的,Mathematica函数应该在没有障碍的情况下做正确的事情。我会提交一份关于此的错误报告,但我不会屏住呼吸,很快就会修好。在此之前,实现自己的triangulation algorithm可能更容易。