标签: wpf intersection polyline
我正在开发一个图表应用程序,其中有2条折线,比如折线A(在下图中显示为红色线)和折线B(在下图中显示为蓝色线)。
图表中可以有两个条件:
当红线从上方与蓝线相交,然后保持在蓝线下方时,我想用某种颜色填充该区域。
当红线与下方的蓝线相交,然后保持在蓝线上方时,我想用其他颜色填充该区域。
答案 0 :(得分:2)
如果没有这样做,我可以想象,通过填写Path并以适当的方式设置Clip,你可以在没有太多数学的情况下做你想做的事。
假设您用绿色填充红线下方的整个区域。因此,您需要设置一个填充Path,其Data几何是一个闭合多边形,由红线的所有点加上视口的两个下角点组成。在Path上,您可以将Clip属性设置为另一个封闭的多边形几何体,该几何体将包含蓝线中的所有点以及视口的两个上部点。对于红色填充,您将再次执行相同的操作,但使用交换的折线。
Path
Data
Clip
直接的方法当然是找到交点,确定交点的方向,从上下线点加上适当的交点创建闭合多边形,并根据交点方向填充这些多边形。