問題タブ [clipperlib]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
241 参照

polygon - Clipperlib ポリゴンの違いの問題

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 つの正方形を描画できます。

0 投票する
1 に答える
740 参照

c++ - Clipper ライブラリで開いているパスをクリッピングする

Clipperでは、開いたパス (黒) と閉じたポリゴン (青) が与えられた場合、開いたパスをクリップして、クリップされた部分がポリゴンの輪郭を使用して完成し、可能な場合はバラバラのセグメントではなく単一のパスが残るようにするにはどうすればよいですか?
これを実現できるクリッパー操作は何ですか?

ここに画像の説明を入力

クリッピング ポリゴンは、例のように必ずしも長方形ではないことに注意してください。したがって、完成したセグメントはポリライン自体である場合があります。

0 投票する
1 に答える
582 参照

python - pyclipper: 些細なケースでクラッシュする (「例外をスローして終了」)

Clipper Pythonバインディングを使用して、ポリゴンを使用して線をクリップしようとしています。しかし、プロセスはバインディングまたはクリッパー ライブラリ内でクラッシュします。

上記のコードを実行すると、呼び出し中にプロセスが終了pc.Execute()し、次のメッセージが標準エラーに書き込まれます。

Clipper 6.2.1 を使用する PyPI で利用可能な最新バージョンの pyclipper (0.9.3b0) を使用して、OS X 10.8.5 で Python 3.4.3 を使用しています。

私は何か間違ったことをしていますか、それともこれは Clipper または pyclipper のバグですか?

0 投票する
0 に答える
178 参照

c# - クリッパーは、指定されたポイントに接続されたすべてのポリゴンを取得する方法

私は現在、一連のクリッパー ポリゴン内の特定の座標セットに接続されているすべてのポイントを見つける必要があるプロジェクトに取り組んでいます。つまり、私は次のことを意味します。

そして、始点に向かって途切れることなく接続されているすべてのポリゴンを含む List> の戻り値が必要です。

に変わります

しかし

束縛されないままだろう

ポリゴンはすべて閉じており、一部が重なっている可能性があります。

誰でもこれを行う方法を知っていますか?

0 投票する
1 に答える
571 参照

clipperlib - GeoJson Shapes に穴をあける - clipperLib

重なり合う形状がいくつかあります。すべての小さな形状を含む最大の形状に穴を開けられるようにしたいです。穴は、大きな形状内の小さな形状を表します。

サンプル画像: ここに画像の説明を入力

ClipperLib の C# バージョンを使用しています。

返される形状は、上の図の最大の形状です。

GeoJson ファイル: http://s000.tinyupload.com/download.php?file_id=62259172894067221043&t=6225917289406722104327028

0 投票する
0 に答える
162 参照

c# - ClipperLib - いくつかのメッシュの結合 (クリップかサブジェクトか?)

ClipperLib(C#版)を使用しています。

私が達成したいのは、いくつかのメッシュの特定の座標に対して、答えとしてそれらを結合することです。交差する 2 つのメッシュと 3 つ目のメッシュ (完全に分離) については、2 つの要素の答えが得られると予測しています。

  1. 交差するメッシュの結合
  2. 3 番目のメッシュ (1 つを分離する) の座標。

しかし、私が実際に得ているのは、交差するメッシュの座標が欠落している奇妙な答えです。

私がやること:

この 3 つのメッシュの座標を Clip に追加して、これを実行します。これが空の件名パスに接続されているかどうか疑問に思っています。誰かがこのような問題に遭遇した場合は、ここで助けていただければ幸いです。

0 投票する
1 に答える
365 参照

polygons - クリッパーがポリゴンをマージするのを防ぎますか?

互いに接触する 2 つの形状 (たとえば、長方形 A に穴がある大きな長方形 B の長方形 A) とクリップ形状 (長方形 C) の違いを計算すると、2 つの接触する形状は同じエッジを共有するためマージされます。そして、クリッピングが実行されます。

クリッピング時に接触形状のマージを回避することは可能ですか?

以下は、2 つの形状 (緑の A と赤の B) とクリップ (つまり、操作は A & B - クリップ) の違いの例で、青色の形状を返します。

違い (青) クリップ付きの 2 つの接触形状 (緑の A と赤の B)

青い四角形の代わりに、次の 2 つの形状が必要です。

期待される結果

そして、交点は次のようになります。

交差点

これにより、必要な 4 つの形状が得られます。

期待される結果

各形状に対して個別に操作を実行できることはわかっていますが、コストがかかるのではないかと心配しています。

ノート

XOR の結果は次のとおりです。

XOR