問題タブ [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 に答える
423 参照

polygon - !Clipper ライブラリ ラインポリゴン使用オフセット 使い方 ユニオン

Draw Line polygon と Use Offset が欲しいが Unionここに画像の説明を入力

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

c++ - クリッパー ライブラリ (c++) を使用して、ラインとポリゴンのクリッピングで空のパスが返される

Clipper ライブラリを使用して、ポリゴンを線で分割しようとしています。クリッピングの実行後、空のパスを返します。誰かが同じことをする正しい方法を提案できますか?



ソルンのサイズはゼロです。

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

c# - Clipper Lib パスの総面積 (複数)

私はグーグルで検索しましたが、必要なものに似たものは見つかりませんでした。

Clipper Lib は、パスの面積を計算する関数を提供します。

double Area(Path path)

これをスケーリングして複雑なポリゴン (穴が開いたポリゴンなど) の面積を計算する方法が見つかりません。

つまり、次のようなものを作成する必要があります。

double Area(Paths paths, PolyFillType FillType = PolyFillType.pftEvenOdd)

誰かがこれを行う方法を教えてもらえますか? 前もって感謝します

PS: この複雑な多角形には穴がある可能性があるため、単純に面積の合計を出すことはできません。

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

c# - 三角形内のすべてのポイントを取得するとオーバーフローが発生する

まあ、UnityにはGraphicsPathがありません(ポリゴンを塗りつぶし、それらを描画し、輪郭を描き、ユーティリティを一般的な形状で使用するため)、独自の実装を行っています。まあ、どちらが最良の選択肢か議論することもできますが、実際には、私は多くのことを学んでいるので、これを好みます.

アイデアは次のとおりです。ポリゴンが与えられた場合、ClipperLib を使用してオフセット ポリゴン (内側と外側) を作成し、後で LibTessDotNet を使用して三角測量を行い、これを出力します。

...

緑、青、黄色のピクセルは、すべての三角形の辺です。この形状の 501 個の三角形のような LibTessDotNet 出力。

だから、 @SimpleVarのおかげで私はこれをやった:

実際には機能しますが、うまくいきません。オーバーフローが発生するためです (このコードで大量の RAM が使用されるため、Process Explorer で Unity プロセスを強制終了する必要があります)。

ブレークポイントを使用してこのことをデバッグしましたが、実際にどこに問題があるのか​​ わかりません。

問題は次のブロックまたは次のブロックにあると思いfor (var x = pt1.x; x < pt2.x; ++x)ますfor (int y = minY; y <= maxY; ++y)...しかし、私が言ったように、WinFormsで慣れているようにデバッグすることはできません。オーバーフローに達すると、Visual Studio がデバッグを停止し、Unity がクラッシュするため、少し行き詰まります。

オーバーフローを行う DotNetFiddle を実行しようとしましたが、ここでは何もわかりません...だから...コードを改善するために何ができるかわかりません。

あなたが見つけたすべてが最適化されていないこと、および私の主な目標を改善するために私ができるアプローチを説明してください.