問題タブ [convex-polygon]

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 に答える
514 参照

computational-geometry - カット・ザ・ケーキ、またはポリゴン分解

次の問題に直面しています。多角形の頂点を定義する整数グリッド上の一連の座標が与えられています。多角形は凸面であることが保証されています。このような多角形は、直交する 2 本の線分で常に 4 つの等面積部分に分割できることが証明されています。これらの線の交点を としましょうP。そのセットを考慮して、ポリゴン内の座標とP、ラインがポリゴンを 4 つの等しい部分に分割するようにラインをオンにする必要がある角度を計算する必要があります。

一般的に言えば、ケーキカットの問題には「良い」解決策がないことを認識しています。しかし、この特定のケースはそうすべきです。その問題を解決するアルゴリズムを探しましたが、何も役に立ちませんでした。どこを見ればいいですか?

私のアプローチは、ポリゴンの中心の座標を計算し(多かれ少なかれ簡単に実行できます)、Pそこに配置してから、パーツの領域が一致するまで線を「小刻みに動かす」ことです。しかし、それはあまりにもエレガントに聞こえません。

UPD:それが私が扱っている問題です。おそらく、この質問は、実際のコードに関する質問を思い付くまで中断する必要があります。

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

convex-polygon - 2つの多面体円錐の交点を(効率的に)見つける方法は?

光線で表される 2 つの多面体円錐があります。できれば効率的に、多面体円錐でもあるそれらの交点を見つけようとしています。誰もそれを行う方法を知っていますか?

ありがとう

ディーパンシュ

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

javascript - Javascript でポイントのポリゴン周囲をすばやく見つける

地形エディターを作成していますが、一連のポイントの境界ポリゴンを見つける必要があります。凸包だけが必要な場合は、速度は問題になりません。凹型の船体を作るには、いくつかのフープを通過する必要があります。ポイントを三角形分割し、ポイント間の既知の距離よりも長い辺を持つ三角形を破棄できることがわかりました。

次のステップは問題です: JSTS ジオメトリ ライブラリ ( http://github.com/bjornharrtell/jsts ) を使用して三角形 (ミニ ポリゴンとして) を 1 つの大きなポリゴンに結合するのは非常に遅いです。

可視化のスクリーンショット

完全なコードを参照してください: http://codepen.io/anon/pen/oCfDh

最終的なポリゴンを形成するためにマージされる配列 (ポリゴン) があります。問題は、552 ポイント (15k+ をサポートしたい) の場合、実行に約 3500 ミリ秒かかることです。あなたの速度については、codepen リンクのコンソールを見てください。

三角形をポリゴンにマージするか、さらに広くして、まったく異なる方法でポイントのセットから凹型ポリゴンを構築するより高速な方法を知っている人はいますか?

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

algorithm - 凸多角形を形成するためのアルゴリズム

入力としてエッジの長さのシーケンスを取り、これらのエッジで凸多角形を形成するアルゴリズムを見つけようとしています。そのような凸が常に存在するとは限らないことは知っていますが、存在すべきデータを扱っています。

基本的に、エッジ間の角度を把握しようとしています。それらがわかれば、コーナーの座標も計算できます。

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

computational-geometry - 2 つのポリゴン/ポリトープの最適な近似ペア

R^3 には交差が空の 2 つのポリトープ A と B があります。ポリトープは面によって定義されます。つまり、ハイパースペースの不等式のみが存在し、頂点は不明です。問題は、||ab|| となるような A の点 a と B の点 b を見つけることです。= d(A,B) -- A と B の間の距離。また、d>3 の R^2 または R^d についてこの問題を定式化できます。この問題に対するアプローチは何ですか。そして、この問題にはいくつかのアプリケーションがありますか?

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

java - ポリゴンを同じ面積で 4 つの部分にカットします。ジャワ

単純ではない凸状の多角形を 2 つの垂直線で切断して、4 つの等しい (面積) 部分に分割する必要があります。

例

プログラムを書きましたが、テストに合格しません。

  • その理由は、丸め誤差または面積を計算する私の機能だと思います。
  • 確認してください、正しいですか?
  • 靴ひものアルゴリズムとヘロンの公式を使用

コードは次のとおりです。

私がしていること:

  • point(x, y)切断ポリゴンの発見。
  • で切りましたx = a in [ min(x), max(x)]
  • 計算しますS'(x=min(x) から x=a までのポリゴンの一部)
  • の場合S' = S/2a値の計算に使用します(a, *)
  • y = bどこでも同じb in [min(y), max(y)]
  • もっと速い方法はありますか?
0 投票する
0 に答える
295 参照

c++ - pointPolygonTest は点を見つけられません

手のひらの中心を見つけたい。まず、等高線を見つけて、最大面積等高線を選択しました。そして、pointPolygonTest を使用しました。私のコードと結果の画像を以下に示しますが、pointPolygonTest を使用してもポイントが見つかりませんでした。何が問題ですか?

ここに画像の説明を入力