1

ポリラインA(下の画像で赤い線で表示)とポリラインB(下の画像で青い線で表示)の2つのポリラインがあるチャートアプリケーションを開発しています。

例

チャートには 2 つの条件があります。

  • 赤い線が上から青い線と交差し、青い線の下にとどまる場合、その領域を色で塗りつぶしたいと思います。

  • 赤い線が下から青い線と交差し、青い線の上にとどまる場合、その領域を別の色で塗りつぶしたいと思います。

4

1 に答える 1

2

これをやったことがなくても、パスを埋めてそのクリップを適切な方法で設定することで、多くの数学を使わずにやりたいことができるかもしれないと想像できました。

赤い線の下の領域全体を緑で塗りつぶしたとします。したがって、ジオメトリが赤い線のすべての点とビューポートの下隅の 2 つの点で構成される閉じた多角形である塗りつぶしPathを設定します。Dataその上でPath、プロパティを別の閉じたポリゴン ジオメトリに設定しClipます。これは、青い線のすべてのポイントとビューポートの上部の 2 つのポイントで構成されます。赤い塗りつぶしについては、同じことをもう一度行いますが、ポリラインを交換します。

もちろん、直接的なアプローチは、交点を見つけ、交点の方向を決定し、上下の線の点と適切な交点から閉じた多角形を作成し、交点の方向に従ってこれらの多角形を塗りつぶすことです。

幸運を!

于 2012-07-26T08:25:35.340 に答える