2012-07-26 45 views
1

我开发,其中有2个折线一个图表应用程序,说折线A(示出为在下面图像红色线)和折线B(示出为在蓝色线下图)。如何填写2个折线之间区域在WPF与条件

example

可以有在图中2分的条件:

  • 当红色线从上方相交的蓝线,然后停留在蓝线下方,我要填充该区域与一些颜色。

  • 当红色线相交从下面的蓝线,然后停留在蓝线之上,我要填写一些其他颜色的区域。

+0

你有没有用Google搜索“两个多边形的交集”? – Clemens 2012-07-26 07:19:47

+0

是我没有,但我的问题 – 2012-07-26 07:48:55

+0

@LPL感谢编辑我的问题没有找到合适的 – 2012-07-26 07:56:58

回答

2

而不必这样做,我可以想像,你也许可以做你想做的没有太多的数学通过适当的方式填充Path并设置其Clip

比方说,你充满了绿色,红色线以下的整个区域。因此,您将设置填充的Path,其几何图形是一个封闭的多边形,由红色线的所有点加上视口的两个下角点组成。在那Path您将设置Clip属性另一闭合多边形几何形状,这将包括从蓝线加上视口上部的两个点,所有的点。对于红色填充,你会再次做同样的事情,但交换多段线。

直接的方法当然是找到交点,确定交点的方向,从上下线点加上适当的交点创建闭合多边形,并根据交点方向填充这些多边形。

祝你好运!

+0

你能给我一点实现你在最后对说的,我也知道这一点,但没能实现它,我知道你可能非常忙碌,但请尽量做到,如果可能的话 – 2012-07-26 11:10:40

+0

对不起,我不能那样做。只是谷歌如何获得两个线段的交点。通过检查他们的y值找到正确的部分。我假设这两个折线的x值是相同的。 – Clemens 2012-07-26 11:14:50

+0

如果这些行是直线,那么它将不会有超过2分钟的任务,但真正的问题是行的性质无法修复 – 2012-07-26 11:40:22

相关问题