6

我对mathematica(使用版本8)有很大的了解。绘制 Voronoi 图很简单,但是改变规范怎么样?

<< DiscreteMath`ComputationalGeometry`
data2D = {{4.4, 14}, {6.7, 15.25}, {6.9, 12.8}, {2.1, 11.1}, {9.5, 
14.9}, {13.2, 11.9}, {10.3, 12.3}, {6.8, 9.5}, {3.3, 7.7}, {0.6, 
5.1}, {5.3, 2.4}, {8.45, 4.7}, {11.5, 9.6}, {13.8, 7.3}, {12.9, 
3.1}, {11, 1.1}};
DiagramPlot[data2D, LabelPoints -> False]

给了我对应于 L_2 范数(欧几里得范数)的 Voronoi 图。我也需要与 L_1-norm 和 L_infinity-norm 相关的图表...

4

1 回答 1

7

来自Mma 帮助(只是一个近似值):

在此处输入图像描述

在此处输入图像描述

ColorCombine[{Image[ WatershedComponents[
    DistanceTransform[i, DistanceFunction -> ManhattanDistance]], 
    "Bit"], i, i}]

在此处输入图像描述

注意:请注意,Voronoi 多边形的凸性属性丢失了......

于 2011-10-29T19:59:16.953 回答