1

我将点云的坐标存储在矩阵中。很少有点与其他点是隔离的。有人知道我如何删除它们吗?点如图所示。如果您能帮助我,我将不胜感激,因为我不是数学专家 :( 由于我是新用户,我无法上传图片,但底部的点显示了包含 4 个我想删除的分散点的数据集。

…………
 ...........
  …………
  …………
  …………
  …………
  ......
  ...
4

1 回答 1

1

这里有一些代码希望对你有帮助:

data = Table[{Random[], Random[]}, {100}];

DynamicModule[{p = {0.5, 0.5}, linePts = {}, p1 = {0., 0.}, 
  pts = data}, 
 Manipulate[
  Graphics[{Dynamic[Point[pts]], Locator[Dynamic[p]], 
    Line[Dynamic[If[p != p1, AppendTo[linePts, p]; p1 = p]; 
      linePts]]}], 
  Row[{Button["updata", 
     pts = Select[pts, ! Graphics`Mesh`InPolygonQ[linePts, #] &]], 
    Button["copy points", Print[Flatten[Position[data, #] & /@ pts]]],
     Button["Reset", linePts = {}; pts = data;]}]]]

您可以在图中绘制一个区域,然后在图中将其删除。“更新”按钮将显示剩余点,“复制点”将复制剩余点位置,“重置”将重置为原始图。

在此处输入图像描述

于 2013-02-24T18:33:57.700 回答