0

我有一个激光扫描仪应用程序,我想在其中找到两个图之间的差异,一个是没有对象的参考图,另一个是视图中的对象。我正在绘制带有 xy 坐标的图。目前我已经绘制了图表并用不同的颜色填充它们,以便我可以清楚地查看减去的部分。但现在我只想显示差异区域......我认为找到曲线下的区域将解决问题。但我认为它只会给出数值而不是减去区域的确切位置。

所以,我在互联网上搜索了 C# 中的解决方案,我可以在情节本身中做到这一点。希望我说清楚了。有人可以指导我进行搜索吗?我在这里给出我的 c# 代码..

// PointPairList holds the data for plotting, X and Y arrays (one can use other types of objects as well)

        PointPairList spl1 = new PointPairList(x1, y1);
        PointPairList spl2 = new PointPairList(x2, y2);
        PointPairList spl3 = new PointPairList(x, y);



// Add curves to myPane object
      LineItem myCurve1 = myPane.AddCurve("LIDAR Data Scanner-Measurement-Normal", spl1, Color.Blue, SymbolType.None);
      LineItem myCurve2 = myPane.AddCurve("LIDAR Data Scanner-Measurement-with object", spl2, Color.Red, SymbolType.None);
      LineItem myCurve3 = myPane.AddCurve("LIDAR Data Scanner-Measurement-Subtracted curve", spl3, Color.Green, SymbolType.None);

    //   myCurve1.Line.Width = 3.0F;
    //myCurve2.Line.Width = 3.0F;
    myCurve1.Line.Fill = new Fill(Color.White, Color.FromArgb(16, 155, 0, 0), 90F);
    myCurve2.Line.Fill = new Fill(Color.Black, Color.FromArgb(143, 55, 6, 0), 90F);

我只想显示图中的矩形白色部分...

在此处输入图像描述

4

1 回答 1

0

我不确定您看到的数据结构 - 但是,一般来说,如果您正在处理多边形(闭合曲线指定一组 x,y 点),那么您可以进行多边形裁剪以找出差异。看

计算减法后剩余多边形的算法
如何使两个多边形相交?

如果您可以将您的两个图(即参考图和提供的图)表示为多边形,那么上述算法应该允许您计算差异。

于 2012-03-22T06:33:05.260 回答