2
$\开始组$

在这个非常简单的示例中,有用的函数VoronoiMesh公司如预期工作。每一点pts(点)以多边形包围区域显示。

pts=随机实数[{-1,1},{5,2}];mesh=VoronoiMesh[pts];显示[mesh,Graphics[{红色,Point[pts]}]]

在此处输入图像描述

但如果我试图绘制单个元素,我会感到惊讶显示多边形外部一些“内部”点的绘图列表!

pmesh=网格坐标[mesh];index=网格单元[mesh,2][[All,1]];元素=地图[多边形[pmesh[[#]]&,索引];(*多边形*)GraphicsRow@MapThread[Graphics[{col=RandomColor[],Point[#1],FaceForm[None],EdgeForm[col],#2}]&,{pts,elem}]

在此处输入图像描述

怎么可能呢?谢谢!

$\端组$
2

1答案1

重置为默认值
8
$\开始组$

自12.1版以来,我们可以使用最近网格单元格查找点所属多边形的索引。

清除[pts,mesh,indexs];pts=随机实数[{-1,1},{5,2}];mesh=VoronoiMesh[pts,Epilog->{红色,点[pts]}]indexs=展平[NearestMeshCells[{mesh,2},#]&/@pts,1]

{{2, 2}, {2, 3}, {2, 1}, {2, 5}, {2, 4}}.

图形行@地图线程[图形[{col=RandomColor[],点[#1],面形式[None],EdgeForm[col],#2}]&,{pts,MeshPrimitives[mesh,index]}]

在此处输入图像描述

$\端组$

你的答案

单击“发布您的答案”,表示您同意我们的服务条款并确认您已阅读我们的隐私政策.

不是你想要的答案吗?浏览标记的其他问题问你自己的问题.