問題タブ [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 の area_huiller アルゴリズムのバグ?
ブーストでのホイラーアルゴリズムの実装を見ていましたが、部分的に間違っているようです。
boost/geometry/strategies/spherical/area_huiller.hpp を参照してください。
apply() 関数では、
代わりにそうあるべきだと私は信じています
Graphics Gems 5、pg 45 - 46 によると、C++ ファイルの上部にあるコメントは、コードが Graphics Gems 4 のコードから派生したものであると述べていますが、コードは Graphics Gems 5 で後で修正されました。
ポイントの 1 つが (0, 0) である球上のポリゴンの面積を計算しようとしたときに、これに気付きました。その場合、ポリゴンが反時計回りに定義されていても、常に負の領域が返されます。(0,0) 以外のポイントを使用すると、問題が軽減されるように見えたので、何が起こっているのか疑問に思いました。
これが問題であることを他の誰かが確認できますか? これが修正されるまで、ブーストの実装をきれいにオーバーライドするための提案はありますか?
c++ - 2 つの Boost Geometry トランスフォーマーを組み合わせるには?
次のように、変換と回転の 2 つのトランスフォーマーがあります。
bg::transform
毎回2回呼び出して中間変数を使用する必要がないように、それらを1つに結合するにはどうすればよいですか?
boost - Boost.Geometry は十分に成熟していますか?
私は最近、古い地理学ライブラリを書き直すために GIS 会社に雇われました。だから私は現在、優れた計算幾何学ライブラリを探しています。私は CGAL を見たことがありますが、これはすばらしいものですが、私の上司は無料のものを求めています。
だから私は今Boost.Geometryをチェックしています。このライブラリは素晴らしいようですが、かなり急速に変化しているようにも見えます。多くのことがまだ実装されておらず、多くの問題がメーリング リストで議論されています。
したがって、私の質問: Boost.Geometry は十分に成熟しているので、その上に何かを構築できますか? それとも、デザインはまだ進化していますか?
ありがとう
c++ - boost::geometry 関数への関数ポインタ
ここで説明されboost::geometry::get
ている関数を別の関数に渡そうとしていますが、正しく取得できないようです。
私は持っている:
そしてコンパイラはスローします:
私は自分の関数を次のように呼び出してみました:
get
問題の一部は、 に引数を渡さないため、コンパイラがGeometry
関数シグネチャに含まれる型を特定できないことだと思います。
この関数を渡すにはどうすればよいですか?
c++ - (x、y)ポイントが境界ポイントのリストによって定義されたポリゴン内にあるかどうかを判断する方法
いくつかの(必ずしも凸ではない)形状の境界を定義する点の大きなリストがあります。次に、クエリポイントがあり、ポイントの境界で定義された領域内にある(x, y)
かどうかを確認したいと思います。(x, y)
だから、十分に単純な質問。クエリポイントが境界ポイントによって形成される形状の内側にあるかどうかを判断するにはどうすればよいですか?そして、これのための素晴らしいブーストモジュールはありますか?調べてboost::geometry
いますが、まだ何も見つかりません。
c++ - boost:geometryを使用してポリゴンを反転します
バウンディングボックスが一定になるようにポリゴンを水平方向に反転するための推奨される方法は何ですか?
c++ - Boost.Geometryを使用してポリゴンをオフセットしていますか?
Boost Polygonライブラリは、ポリゴンを(対称的に)オフセットすることが可能であると述べています。しかし、私はAPIにメソッドやそれを行う方法の例を見つけていません.Boostジオメトリがそれを行うことができることを誰でも確認できますか? また、私はこの質問を見つけました:
https://stackoverflow.com/questions/7668331/outline-of-a-polygon-in-boost 同様の質問をしているようです。Polygon Clipperのようなライブラリはそれを素晴らしく行うことができることを覚えておいてください。ただし、Boost に対する私の関心は、高速であり、フロートをサポートすることです。手伝ってくれてありがとう。
更新: Boost ジオメトリとポリゴン ライブラリの両方について話しているのは、どちらにこの機能が含まれているか、または欠けているかがわからないためです。
c++ - 2DCリストからboost.geometry.model.polygonを作成する
次のデータセットがあると仮定します
このデータからブーストポリゴンを作成するにはどうすればよいですか?
ありがとう
c++ - ブースト ジオメトリ ポイントの初期化
に慣れようとしていboost::geometry::point
ます。私のクラスには、パラメーターのないデフォルトのコンストラクターがあり、この場合、すべてのポイント値をゼロで初期化したいと考えています。
set/get 関数はテンプレートであるため、次のコード部分ではコンパイル時にエラーが発生します。
ドキュメントを参照するにはhttp://www.boost.org/doc/libs/1_51_0/libs/geometry/doc/html/geometry/reference/models/model_point.html
次の理由により、いくつかの値を設定する必要があります。
座標は初期化されません。パラメーターを持つコンストラクターが呼び出されず、set または assign を使用してポイントが割り当てられない場合、座標値にはガベージが含まれます。
コンパイル時にすべての値をゼロで初期化する方法はありますか? そうでない場合、実行時に?
boost - OGRLineStringをブーストラインストリングとして登録するには?
boost::geometry::simplify
sでメソッドを使用したいと思いOGRLineString
ます。OGRPoint
マクロを介して登録することはできますが:
現在、次のコードを使用できません。
Simplyfy メソッドがコンパイルされず、boost:mpl::eval_if_c に関する何かを示すエラーが表示されますが、これは役に立ちません。