問題タブ [boost-geometry]
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.
c++ - boost::geometry::union 結果なし
boost::geometry::union_ を使用していくつかのポリゴンをマージしようとしていますが、いくつかのエントリの出力ベクトルが空です。
ここに例があります:
取得した2つのポリゴンを描いたとき:
しかし、上記のコードの結果は次のとおりです。
これはこの関数のバグですか、それとも私のコードに誤りがありますか?
c++ - boost::geometry のポリゴン内に追加情報を格納できますか?
私はboost::geometryとC++を初めて使用しますが、それをいじっていると、次の質問が頭に浮かびました:
色またはintを含むstd::stringのように、追加情報をポリゴン内に直接保存することは可能ですか?何らかのID番号?
または、次のようなものでラップする必要がありますか:
ありがとう!
フランツ
c++ - リングセグメントの重複
2D セグメントが 2D リング (凸) と重なっている (純粋な重なり、隣接または接触していない) かどうかを確認するにはどうすればよいですか?
私の最初のアプローチは、次のものを使用することでした。
他のいくつかの組み合わせを試しました(たとえば、内で使用)が、簡単な方法が見つかりません。簡単に言えば、計算ジオメトリ アルゴリズムを実装せずに、いくつかのブースト ジオメトリ アルゴリズムを使用するということです。
解決策は戦略のどこかにあると思います...
問題を再定義できると思います:隣接するリング (ポリゴン) を見つけるにはどうすればよいですか? (注: エッジから縮退リングを作成できます)。
ここに私が欲しいものの図があります。赤のセグメントはOVERLAPを返し、青のNO OVERLAPを返します。
システム: Boost_1.54、CentOS-5、gcc-4.7.2
c++ - 多くのブースト::ポリゴンの結合を作成する最速の方法は何ですか?
多くの boost::polgons を結合する必要がありますが、特に多数のポリゴン (>2000) では、私のアプローチはあまりパフォーマンスが良くないようです (>15 分)。
結合したいすべてのポリゴンをマルチポリゴンにプッシュしてから、マルチポリゴンに結合します。コードを参照してください。
結合するポリゴンのほとんどが交差するため、結果にはおそらく非常に多くのポリゴンが含まれません。
ポリゴンを特定の順序で並べ替えたり、まったく異なる方法で並べ替えたりするなど、これをより効率的にする方法はありますか?
c++ - boost::geometry で凸包の交点を取る
浮動小数点数を使用して数回試みた結果、丸めの問題が原因でワイルド例外が発生した後、回避策として整数演算を使用するとうまくいくと思いました。しかし、今、まったく同じ問題に遭遇しました。
さまざまな点セットの凸包の交点を計算しようとしています:
これは で失敗しboost::geometry::overlay_invalid_input_exception
ます。
凸包は次のようhull0
になりhull1
ます。
私が間違っていることはありますか?凸包と交差の計算を自分で実装する必要がないようにしたいのですが、これは多くの不必要なエラーが発生しやすい作業のようです。