2 つの単純なポリゴンの違いを計算するのに問題があります。
これは、問題が発生したときにテストしていたケースの図です
左側の赤いポリゴンが対象ポリゴン 黄色いポリゴンがクリップポリゴン 右側のポリゴンはクリッパー lib ポリゴン差分を使用した結果です。
2 つの正方形 (中央の形状の赤い正方形) の代わりに、これ (右側の赤い多角形) を使用しています。交差操作でテストしたところ、黄色のポリゴンが表示されましたが、これは問題ないので、交差に問題はありません。また、この特定のケースでは出力が違いと同じになる XOR 操作でテストしましたが、実際には同じ (間違った) 出力です。
誰かがこれを経験しましたか?
編集: 実際、出力ポリツリーには、8 ポイントの輪郭を持つ 1 つのポリノードが含まれています。(2,2) 点は、この等高線に 2 回表示されます。以下の輪郭を記録します: (2,2) (3,2) (3,3) (2,3) (2,2) (1,2) (1,1) (2,1)
したがって、これで問題ないと思います。描画方法を変更することで (ClipperLib SimplifyPolygon メソッドを使用するなど)、出力データを処理して 2 つの正方形を描画できます。